Changelog
---------

6.5.4: 2020-04-11
	* Explorer init: Do not grep on non-existent init (Steven Armstrong)
	* Core: Bugfix to preserve conf dirs order (Steven Armstrong)

6.5.3: 2020-04-03
	* Type __cron: Make non parallel due to race condition (Nico Schottelius)
	* Type __pyvenv: Use python3 -m venv on Alpine (Nico Schottelius)
	* Type __user: Fix missing shadow for alpine (llnu)
	* Type __consule_agent: Make conf_dir dependent on OS - fixes Alpine (Nico Schottelius)
	* Type __letsencrypt_cert: Fix typo (Andrew Schleifer)
	* Type __package_update_index: Fix maxage false positives (Matthias Stecher)

6.5.2: 2020-02-27
	* Type __update_alternatives: Add state explorer (Ander Punnar)
	* Explorer os_version: Add support for Alpine Linux (Jin-Guk Kwon)
	* Explorer init: Rewrite and support more init systems (Dennis Camera)
	* New type: __service (Timothée Floure)
	* Types __consul_*: Add optional parameter for using distribution packages (Timothée Floure)
	* Explorer disks: Fix NetBSD, support Linux w/o lsblk (Dennis Camera)
	* Type __directory: Add 'exists' and 'pre-exists' states (Dennis Camera)
	* Type __file: Improve error messages for pre-exists state (Dennis Camera)

6.5.1: 2020-02-15
	* Type __consul_agent: Add Debian 10 support (Nico Schottelius)
	* Explorer os_release: Add fallbacks (Dennis Camera)
	* Types __file, __directory: Add fallback for systems without stat (Dennis Camera)
	* Type __mysql_privileges: Fix quoting (Ander Punnar)
	* Type __package_apt: Update package index if it is older than one day (Ander Punnar)
	* Type __cron: Fix job removal if 'is' and 'should' don't match (Matthias Stecher)
	* New type: __systemd_service (Matthias Stecher)
	* Type __postgres_role: Fix password command syntax (Timothée Floure)

6.5.0: 2020-01-23
	* Type __acl: Add --entry parameter to replace --acl, deprecate --acl (Ander Punnar)
	* Core: preos: Fix missing configuration file usage, support -g, --config-file option (Darko Poljak)
	* Core info command: Support tilde expansion of conf directories (Darko Poljak)
	* Types __postgres_*: Fix edge cases in quoted identifiers (Timothée Floure)
	* New type: __apt_unattended_upgrades (Ander Punnar)
	* Type __line: Bugfixes: (Dennis Camera)
		- ensure the line is only added once
		- always add line to end if anchor is not found
		- match line at the beginning when not regex
		- fix incorrect 'wrongposition' in state explorer
		- produce error when file does not exist
	* Type __acl: Add --source, --file and --directory parameters (Ander Punnar)

6.4.0: 2020-01-04
	* Type __consul_agent: Don't deploy init script on Alpine anymore, it ships with one itself (Nico Schottelius)
	* Type __install_chroot_umount: Bugfix: type was not using __chroot_umount/manifest (Steven Armstrong)
	* Types __postgres_*: Use double quoted identifiers in generated SQL (Timothée Floure)
	* Core: Add cdist info command (Darko Poljak)
	* New types: __mysql_user, __mysql_privileges (Ander Punnar)
	* Type __mysql_database: Rewrite (Ander Punnar)

6.3.0: 2019-12-12
	* Type __package_update_index: Fix Alpine part (Dominique Roux)
	* Documentation: Fix man pages for install types (Darko Poljak)
	* Documentation: Embed config skeleton instead of rewriting it (Darko Poljak)
	* Documentation: Remove cdist-type prefix and man page reference from type list in html (Darko Poljak)
	* Documentation: PreOS english nitpicking (Evil Ham)
	* Documentation: Add installing from source with signature verification (Darko Poljak)
	* Core: preos: Support top command logging options, custom conf-dir option and CDIST_PATH env var (Darko Poljak)
	* Type __start_on_boot: Docs: remove unsupported *BSD claim (Evil Ham)
	* New type: __openldap_server (Evil Ham)

6.2.0: 2019-11-30
	* Core: Redefine/reimplement/fix CDIST_ORDER_DEPENDENCY (Darko Poljak)

6.1.1: 2019-11-26
	* Type __xymon_config: Add parameters for ownership and generic rsync options (Thomas Eckert)
	* Type __xymon_client: Add msgcache parameter to support passive clients (Thomas Eckert)
	* Type __apt_key: Use mktemp for unique temporary gpg home (Ander Punnar)
	* Type __hostname: Silence grep exit 1 when os_version is not numeric (Ander Punnar)
	* Type __ufw: Print error message to stderr (Daniel Tschada)

6.1.0: 2019-11-19
	* Explorer hostname, type __hostname: Support more operating systems, rewrite type and hostname explorer (Dennis Camera)

6.0.4: 2019-11-19
	* Doc: Fix typos (Kirill Miazine)

6.0.3: 2019-10-31
	* Type __letsencrypt_cert: Add Alpine support (Nico Schottelius)
	* Type __xymon_client: Fix spelling error in manpage (Dmitry Bogatov)
	* Build: Support pip from git (Darko Poljak, Ľubomír Kučera)
	* Type __package_update_index: Add Alpine support (Ahmed Bilal Khalid)

6.0.2: 2019-10-17
	* New types: __xymon_server, __xymon_apache, __xymon_config, __xymon_client (Thomas Eckert)
	* Type __letsencrypt_cert: Add Arch Linux support (Nico Schottelius)
	* New type: __sensible_editor (Dennis Camera)
	* Types __grafana_dashboard, __prometheus_alertmanager, __prometheus_exporter, __prometheus_server: Support Debian 10 (Ahmed Bilal Khalid)

6.0.1: 2019-10-08
	* Type __group: Support OSes without getent (Dennis Camera)
	* Type __user: Support OSes without getent (Dennis Camera)
	* Type __ssh_authorized_keys: Support OSes without getent (Dennis Camera)
	* Type __ssh_dot_ssh: Support OSes without getent (Dennis Camera)
	* Explorer interfaces: Always sort output (Dennis Camera)
	* Explorer os: Unquote value from os-release file (Dennis Camera)
	* Type __letsencrypt_cert: Support Debian 10* (Ahmed Bilal Khalid)
	* Type __prometheus_server: Add missing exit after unsupported error message (Dominique Roux)
	* Type __git: Use --recurse-submodules instead of --recursive (Jonas Hagen)
	* Type __git: Add --shallow option (Jonas Hagen)

6.0.0: 2019-10-01
	* Type __letsencrypt_cert: Fix beowulf's spelling (Mondi Ravi)
	* Core: Add preos functionality (Darko Poljak)
	* Type __sysctl: Add alpine support (Nico Schottelius)
	* Type __git: Add recursive option (Dennis Camera)
	* Type __apt_key: Fix key dearmor (Ander Punnar)

5.1.3: 2019-08-30
	* Build: Overcome bash CDPATH when building docs (Dmitry Bogatov)
	* Type __grafana_dashboard: Update distribution name, package signing key URI and repository URI (Dominique Roux)
	* Type __letsencrypt_cert: Add Devuan Beowulf support (Nico Schottelius)
	* Type __letsencrypt_cert: Fix Devuan Ascii: support (Nico Schottelius)
	* Type __docker: Add devuan support (Dominique Roux)
	* Type __docker_swarm: Fix for Docker 19.03 (Ľubomír Kučera)

5.1.2: 2019-06-21
	* Core: Add support for type parameters deprecation (Darko Poljak)
	* Type __acl: Rewrite and improve (Ander Punnar)

5.1.1: 2019-05-28
	* Type __apt_key: Use gpg key, fallback to deprecated apt-key (Ander Punnar)
	* Type __acl: Fix and improve (Ander Punnar)
	* Documentation: Document type stdin inside loop caveats (Darko Poljak)

5.1.0: 2019-05-22
	* Type __consul: Add alpine support (Nico Schottelius)
	* Type __consul: Add version 1.5.0 (Nico Schottelius)
	* Type __consul_agent: Add alpine support (Nico Schottelius)
	* New helper script: cdist-new-type (Steven Armstrong, Darko Poljak)
	* Core: Add support for deprecated type marker (Darko Poljak)

5.0.2: 2019-05-17
	* Type __package_apk: Fix @repo handling in explorer (Nico Schottelius)
	* Type __postfix: Add alpine support (Nico Schottelius)
	* Type __postfix_postconf: Add alpine support (Nico Schottelius)
	* Type __user: Add alpine support (Nico Schottelius)
	* Core: Set __cdist_dry_run env var (Ander Punnar)

5.0.1: 2019-05-09
	* Documentation: Add 'Perils of CDIST_ORDER_DEPENDENCY' sub-section (Darko Poljak)
	* Build: Clean and separate end user targets into Makefile and maintainer targets into build-helper (Darko Poljak)
	* Core: Update residual references to old cdist homepage (Darko Poljak)
	* Documentation: Update residual references to old cdist homepage and git source (Darko Poljak)
	* Type __cdist: Fix non working 'git://' protocol source (Darko Poljak)

5.0.0: 2019-05-05
	* Type __zypper_service: Fix spelling error in manpage (Dmitry Bogatov)
	* Explorer init: Add support for OpenBSD (sideeffect42)
	* Type __postgres_database: Run psql with -w (no-password) (sideeffect42)
	* Type __postgres_role: Run psql with -w (no-password) (sideeffect42)
	* Type __block: Quote prefix/suffix - fix when prefix/suffix contains quotes (sideeffect42)
	* Build: Update due to migration to code.ungleich.ch (Darko Poljak)
	* Documentation: Update due to migration to code.ungleich.ch (Darko Poljak)
	* Core: Detect and report dependency cycle as soon as possible (Darko Poljak)
	* Core, documentation: Release -j/--jobs option, i.e. make it non-beta (Darko Poljak)
	* Documentation: Update due to new cdist website (Darko Poljak)
	* Build: Update due to new cdist website (Darko Poljak)

4.11.1: 2019-04-22
	* Core: Improve explorer error reporting (Darko Poljak)
	* Type __directory: explorer stat: add support for Solaris (Ander Punnar)
	* Type __file: explorer stat: add support for Solaris (Ander Punnar)
	* Type __ssh_authorized_keys: Remove legacy code (Ander Punnar)
	* Explorer disks: Bugfix: do not break config in case of unsupported OS
	  which was introduced in 4.11.0, print message to stderr and empty disk list
	  to stdout instead (Darko Poljak)

4.11.0: 2019-04-20
	* Type __package: Add __package_apk support (Nico Schottelius)
	* Type __directory: Add alpine support (Nico Schottelius)
	* Type __file: Add alpine support (Nico Schottelius)
	* Type __hostname: Add alpine support (Nico Schottelius)
	* Type __locale: Add alpine support (Nico Schottelius)
	* Type __start_on_boot: Add alpine support (Nico Schottelius)
	* Type __timezone: Add alpine support (Nico Schottelius)
	* Type __start_on_boot: gentoo: check all runlevels in explorer (Nico Schottelius)
	* New type: __package_apk (Nico Schottelius)
	* Type __acl: Add support for ACL mask (Dimitrios Apostolou)
	* Core: Fix circular dependency for CDIST_ORDER_DEPENDENCY (Darko Poljak)
	* Type __acl: Improve the type (Ander Punnar)
	* Explorer interfaces: Simplify code, be more compatible (Ander Punnar)
	* Explorer disks: Remove assumable default/fallback, for now explicitly support only Linux and BSDs (Ander Punnar, Darko Poljak)

4.10.11: 2019-04-13
	* Core: Fix broken quiet mode (Darko Poljak)
	* Build: Add version.py into generated raw source archive (Darko Poljak)
	* Explorer disks: Fix detecting disks, fix/add support for BSDs (Ander Punnar)
	* Type __file: Fix stat explorer for BSDs (Ander Punnar)
	* Type __directory: Fix stat explorer for BSDs (Ander Punnar)

4.10.10: 2019-04-11
	* New types: __ufw and __ufw_rule (Mark Polyakov)
	* Type __link: Add messaging (Ander Punnar)
	* Debugging: Rename debug-dump.sh to cdist-dump (Darko Poljak)
	* Documentation: Add cdist-dump man page (Darko Poljak)

4.10.9: 2019-04-09
	* Type __ssh_authorized_keys: Properly handle multiple --option params (Steven Armstrong)
	* Debugging: Add debug dump helper script (Darko Poljak)
	* Type __file: Bugfix: fire onchange for present and exists states if no attribute is changed (Darko Poljak)

4.10.8: 2019-04-06
	* Type __clean_path: Fix list explorer exit code if path not directory or does not exist (Ander Punnar)
	* New type: __check_messages (Ander Punnar)

4.10.7: 2019-03-30
	* Build: Migrate from pep8 to pycodestyle (Darko Poljak)
	* Type __start_on_boot: Implement state absent for OpenBSD (Daniel Néri)
	* Explorers cpu_cores, disks: Add support for OpenBSD (Daniel Néri)
	* Type __staged_file: Use portable -p instead of --tmpdir for mktemp (Silas Silva)
	* Type __line: Add onchange parameter (Ander Punnar)
	* Type __file: Add onchange parameter (Ander Punnar)
	* New type: __clean_path (Ander Punnar)

4.10.6: 2019-02-15
	* Type __prometheus_alertmanager: Add startup flag (Dominique Roux)
	* Types __zypper_repo, __zypper_service: Re-add the use of echo in explorers (Daniel Heule)

4.10.5: 2018-12-21
	* Type __group: Fix/remove '--' from echo command (Dimitrios Apostolou)
	* New type: __ping (Olliver Schinagl)
	* Type __postgres_role: Fix broken syntax (Nico Schottelius, Darko Poljak)
	* Type __consul_agent: Add Debian 9 support (Jin-Guk Kwon)
	* Documentation: Fix broken links (Rage <OxR463>)
	* Type __docker: Add version parameter (Jonas Weber)
	* Type __sysctl: Refactor for better OS support (Takashi Yoshi)
	* Types __package_*: Add messaging upon installation/removal (Takashi Yoshi)
	* Type __package_pkg_openbsd: Reworked (Takashi Yoshi)

4.10.4: 2018-11-03
	* Core: Transfer all files of a directory at once instead of calling copy once per file (myeisha)
	* Core: Add timestamp (optional) to log messages (Darko Poljak)
	* Explorers and types: Fix shellcheck found problems and encountered bugs (Jonas Weber, Thomas Eckert, Darko Poljak)
	* Build: Add shellcheck makefile target and check when doing release (Darko Poljak)
	* Type __consul: Add newest versions (Dominique Roux)
	* Type __user: Remove annoying output, handle state param gracefully, add messages for removal (Thomas Eckert)
	* Core: Fix checking for conflicting parameters for multiple values parameters (Darko Poljak)
	* Documentation: Various fixes (Thomas Eckert)
	* Various types: Improve OpenBSD support (sideeffect42)

4.10.3: 2018-09-23
	* New global explorer: os_release (Ľubomír Kučera)
	* Type __docker: Update type, install docker CE (Ľubomír Kučera)
	* Type __package_apt: Write a message when a package is installed or removed; shellcheck (Jonas Weber)
	* Documentation: Add 'Dive into real world cdist' walkthrough chapter (Darko Poljak)
	* Core: Remove duplicate remote mkdir calls in explorer transfer (myeisha)

4.10.2: 2018-09-06
	* Type __letsencrypt_cert: Add support for devuan ascii (Darko Poljak)
	* Type __systemd_unit: Fix minor issues and add masking unit files support (Adam Dej)
	* Type __grafana_dashboard: Fix devuan ascii support (Dominique Roux)
	* Type __apt_source: Add nonparallel marker (Darko Poljak)
	* Type __package_update_index: Fix error when using OS not using apt (Stu Zhao)
	* Type __package_update_index: Support --maxage for type pacman (Stu Zhao)
	* Type __letsencrypt_cert: Fix explorers: check that certbot exists before using it (Darko Poljak)

4.10.1: 2018-06-21
	* Type __letsencrypt_cert: Fix temp file location and removal (Darko Poljak)
	* Type __line: Handle missing file in __line explorer gracefully (Jonas Weber)
	* Documentation: Add env vars usage idiom for writing types (Darko Poljak)

4.10.0: 2018-06-17
	* New type: __acl (Ander Punnar)
	* Core: Disable config parser interpolation (Darko Poljak)
	* Type __sysctl: Use sysctl.d location if exists (Darko Poljak)
	* Type __line: Rewrite and support --before and --after (Steven Armstrong)

4.9.1: 2018-05-30
	* New type: __install_coreos (Ľubomír Kučera)
	* Type __consul_agent: Add LSB init header (Nico Schottelius)
	* Type __package_yum: Fix explorer when name contains package name with exact version specified (Aleksandr Dinu)
	* Type __letsencrypt_cert: Use object id as domain if domain param is not specified (Darko Poljak)

4.9.0: 2018-05-17
	* Type __docker_stack: Use --with-registry-auth option (Ľubomír Kučera)
	* New type: __docker_config (Ľubomír Kučera)
	* New type: __docker_secret (Ľubomír Kučera)
	* Type __letsencrypt_cert: Rewritten; WARN: breaks backward compatibility (Ľubomír Kučera)
	* Core: Fix NameError: name 'cdist_object' is not defined (Darko Poljak)

4.8.4: 2018-04-20
	* Documentation, type manpages: Fix spelling (Dmitry Bogatov)
	* New explorer: is-freebsd-jail (Kamila Součková)
	* Types __hostname, __start_on_boot, __sysctl: Support FreeBSD (Kamila Součková)
	* Type __install_config: set environment variable to distinguish between
	  install-config and regular config (Steven Armstrong)
	* Core: Improve error reporting (Darko Poljak)

4.8.3: 2018-03-16
	* Type __key_value: Add onchange parameter (Kamila Součková)
	* Types __prometheus_server, __prometheus_alertmanager, __grafana_dashboard:
	  Work with packages instead of go get, remove __daemontools dependency and clean up (Kamila Součková)
	* Documentation: Fix manpage generation (Darko Poljak)
	* New type: __docker_swarm (Ľubomír Kučera)
	* New type: __docker_stack (Ľubomír Kučera)

4.8.2: 2018-03-10
	* Core: Fix quiet argument access for bare cdist command (Darko Poljak)

4.8.1: 2018-03-09
	* Type __consul: Add option for directly downloading on target host (Darko Poljak)
	* Core: Add -4 and -6 params to force IPv4, IPv6 addresses respectively (Darko Poljak)
	* Type __package_update_index: Fix messaging (Thomas Eckert)
	* Type __package_dpkg: Add state parameter and messaging (Thomas Eckert)
	* Core: Fix a case when HOME is set but empty (Darko Poljak)
	* Core: Fix non-existent manifest non graceful handling (Darko Poljak)
	* Core: Fix main and inventory parent argparse options (Darko Poljak)
	* Core: Fix lost error info with parallel jobs (option -j) (Darko Poljak)
	* Core: Fix determining beta value through configuration (Darko Poljak)
	* Core: Fix determining save_output_streams value through configuration (Darko Poljak)
	* Core: Support in-distribution config file (Darko Poljak)
	* New type: __apt_default_release (Matthijs Kooijman)
	* Type __file: Add pre-exists state (Matthijs Kooijman)
	* Type __grafana_dashboard: Add support for stretch + ascii (Nico Schottelius)
	* Core: Fix idna (getaddrinfo) unicode tracebak for invalid host name (Darko Poljak)

4.8.0: 2018-02-14
	* Core: Skip empty lines in parameter files (Darko Poljak)
	* Explorer memory: Support OpenBSD (Philippe Gregoire)
	* Type __install_config: re-export cdist log level during installation (Steven Armstrong)
	* Type __sysctl: Add support for CoreOS (Ľubomír Kučera)
	* Type __systemd_unit: Various improvements (Ľubomír Kučera)
	* Type __line: Support regex beginning with '-' (Philippe Gregoire)
	* Type __letsencrypt_cert: Add nonparallel; make admin-email required (Kamila Součková)
	* Type __package_pkgng_freebsd: Redirect stdout and stderr to /dev/null	instead of closing them (michal-hanu-la)
	* Type __daemontools: Make it more robust and clean up the code (Kamila Součková)
	* Core: Save output streams (Steven Armstrong, Darko Poljak)
	* Documentation: Add local cache overview (Darko Poljak)
	* Type __systemd_unit: Fix handling stdin (Jonas Weber)
	* Type __package_apt: Add --purge-if-absent parameter (Jonas Weber)
	* Type __package_update_index: Add --maxage parameter for apt and add message if index was updated(Thomas Eckert)
	* Type __motd: Support reading from stdin (Jonas Weber)
	* Type __issue: Support reading from stdin (Jonas Weber)
	* Type __package_apt: Add support for --version parameter (Darko Poljak)
	* Type __letsencrypt_cert: Add --renew-hook parameter(Darko Poljak)
	* Core: Support disabling saving output streams (Darko Poljak)
	* Type __apt_source: Remove update index dependency; call index update in gencode-remote (Darko Poljak)

4.7.3: 2017-11-10
	* Type __ccollect_source: Add create destination parameter (Dominique Roux)
	* Type __ssh_authorized_key: Add messaging (Thomas Eckert)
	* New type: __letsencrypt_cert (Nico Schottelius, Kamila Součková)
	* Core: Warn about invalid type in conf dir and continue instead of error (Darko Poljak)
	* New type: __systemd_unit (Ľubomír Kučera)
	* Type __letsencrypt_cert: Add support for debian stretch (Daniel Tschada)
	* Type __line: Fix a case for absent when line contains single quotes (Darko Poljak)
	* Type __config_file: Fix onchange command not being executed (Ľubomír Kučera)

4.7.2: 2017-10-22
	* Type __hostname: Add support for CoreOS (Ľubomír Kučera)
	* Type __timezone: Add support for CoreOS (Ľubomír Kučera)
	* Explorer os: Fix for devuan ascii (Kamila Součková)

4.7.1: 2017-10-01
	* Type __line: Add messaging (Thomas Eckert)
	* Documentation: Fix documentation for building custom man-pages from non-standard path (Thomas Eckert)
	* Core: Fix running scripts with execute bit when name without path is specified (Ander Punnar)
	* Type __process: Add messaging (Thomas Eckert)

4.7.0: 2017-09-22
	* Core: Add configuration/config file support (Darko Poljak)
	* Core: Implement simple integration API (unstable) (Darko Poljak)
	* Explorer machine_type: Detect kvm on proxmox (Sven Wick)
	* Types __prometheus_server, __prometheus_alertmanager: Bugfixes (Kamila Součková)
	* New type: __prometheus_exporter (Kamila Součková)
	* Type __daemontools: Improve it on FreeBSD (Kamila Součková)
	* Type __package_pkg_openbsd: Fix use of --name (Philippe Gregoire)
	* Type __package_pkg_openbsd: Fix pkg_version explorer (Philippe Gregoire)
	* Type __prometheus_exporter: Fixes + go version bump (Kamila Součková)
	* Core, types: __cdist_loglevel -> __cdist_log_level (Darko Poljak)
	* Core, types: Add __cdist_log_level_name env var with vlaue of log level name (Darko Poljak)
	* Core: Make cdist honor __cdist_log_level env var (Darko Poljak)
	* Core: Add -l/--log-level option (Darko Poljak)
	* Type __install_stage: Fix __debug -> __cdist_log_level (Darko Poljak)
	* Documentation: Document __cdist_log_level (Darko Poljak)
	* Core: Log ERROR to stderr and rest to stdout (Darko Poljak, Steven Armstrong)
	* Type __ssh_authorized_key: Bugfix the case where invalid key clears a file and add key validation (Darko Poljak)

4.6.1: 2017-08-30
	* Type __user: Explore with /etc files (passwd, group, shadow) (Philippe Gregoire)
	* Explorer init: Use pgrep instead of ps for Linux (Philippe Gregoire)
	* Type __apt_key_uri: Redirect stderr of apt-key to /dev/null (Mark Verboom)
	* Type __package_pkg_openbsd: Support the empty flavor (Philippe Gregoire)
	* Type __package_pkg_openbsd: Support using /etc/installurl (Philippe Gregoire)
	* Type __user_groups: Support OpenBSD (Philippe Gregoire)
	* Type __hostname: Allow hostnamectl to fail silently (Steven Armstrong)
	* Type __install_config: Use default default __remote_{copy,exec} in custom __remote_{copy,exec} scripts (Steven Armstrong)
	* Type __ssh_authorized_key: Fix removing ssh key that is last one in the file (Darko Poljak)

4.6.0: 2017-08-25
	* Core: Add inventory functionality (Darko Poljak)
	* Core: Expose inventory host tags in __target_host_tags env var (Darko Poljak)
	* Type __timezone: Check current timezone before doing anything (Ander Punnar)
	* Core: Add -p HOST_MAX argument (Darko Poljak)
	* Core: Add archiving support for transferring directory - new -R beta option (Darko Poljak)
	* Core: Fix ssh connection multiplexing race condition (Darko Poljak)
	* Core: Fix emulator race conditions with -j option (Darko Poljak)
	* Documentation: Cleanup (Darko Poljak)
	* Explorer os: Get ID from /etc/os-release (Philippe Gregoire)

4.5.0: 2017-07-20
	* Types: Fix install types (Steven Armstrong)
	* Core: Add -r command line option for setting remote base path (Steven Armstrong)
	* Core: Allow manifest and gencode scripts to be written in any language (Darko Poljak)
	* Documentation: Improvements to the english and fix typos (Mesar Hameed)
	* Core: Merge -C custom cache path pattern option from beta branch (Darko Poljak)
	* Core: Improve and cleanup logging (Darko Poljak, Steven Armstrong)
	* Core: Remove deprecated -d option (Darko Poljak)
	* Type __file: If no --source then create only if there is no file (Ander Punnar)
	* Core: Ignore directory entries that begin with dot('.') (Darko Poljak)
	* Core: Fix parallel object prepare and run steps and add nonparallel type marker (Darko Poljak)

4.4.4: 2017-06-16
	* Core: Support -j parallelization for object prepare and object run (Darko Poljak)
	* Type __install_mkfs: mkfs.vfat does not support -q (Nico Schottelius)
	* Types __go_get, __daemontools*, __prometheus*: Fix missing dependencies, fix arguments (Kamila Součková)

4.4.3: 2017-06-13
	* Type __golang_from_vendor: Install golang from https://golang.org/dl/ (Kamila Součková)
	* Type __go_get: Install go packages using go get (Kamila Součková)
	* Explorer kernel_name: uname -s (Kamila Součková)
	* Type __sysctl: Add devuan support (Nico Schottelius)
	* Type __start_on_boot: Add devuan support (Nico Schottelius)
	* Core: Shorten ssh control path (Darko Poljak)
	* Type __consul: Add new version and add http check (Kamila Součková)
	* New types: __daemontools and __daemontools_service (Kamila Součková)
	* New types: __prometheus_server and __prometheus_alertmanager (Kamila Součková)
	* New type: __grafana_dashboard (Kamila Součková)

4.4.2: 2017-03-08
	* Core: Fix suppression of manifests' outputs (Darko Poljak)
	* Type __user_groups: Support FreeBSD (Andres Erbsen)
	* Type __cron: Fix filter for new cron on sles12 sp2 (Daniel Heule)
	* Type __docker: Support absent state (Dominique Roux)
	* Type __docker_compose: Support absent state (Dominique Roux)
	* New type: __hosts (Dmitry Bogatov)
	* New type: __dot_file (Dmitry Bogatov)

4.4.1: 2016-12-17
	* Documentation: Update docs for types that used man.rst as symbolic links (Darko Poljak)
	* Type __cron: Remove '# marker' for raw_command due to cron security (Daniel Heule)
	* New type: __docker_compose (Dominique Roux)
	* Type __apt_mark: Check supported apt version and if package is installed (Ander Punnar)
	* New type: __docker (Steven Armstrong)
	* New type: __package_dpkg (Tomas Pospisek)

4.4.0: 2016-12-03
	* Core: Deprecate -d option and make -v option log level counter (Darko	Poljak)
	* New type: __postgres_extension (Tomas Pospisek)
	* Core, types: Support IPv6 (Darko Poljak)
	* Type __consul: Add source and cksum files for Consul 0.7.0 and 0.7.1 (Carlos Ortigoza)
	* Type __user: FreeBSD fix (Kamila Souckova)
	* New type: __apt_mark (Ander Punnar)
	* Type __package_upgrade_all: Do not dist-upgrade by default, add apt-clean and apt-dist-upgrade options  (Ander Punnar)
	* Core: Correct target_host var in code.py (Darko Poljak)
	* All: Merge install feature from 4.0-pre-not-stable (Darko Poljak)

4.3.2: 2016-10-13
	* Documentation: Update no longer existing links (Simon Walter)
	* Core: Add warning message for faulty dependencies case (Darko Poljak)
	* Explorer os_version: Use /etc/os-release instead of /etc/SuSE-release	(Daniel Heule)
	* Type __package: Call __package_pkg_openbsd on openbsd (Andres Erbsen)
	* Type __package_pkg_openbsd: Support --version (Andres Erbsen)
	* Type __hostname: Support openbsd (Andres Erbsen)
	* New type: __firewalld_start: start/stop firewalld and/or enable/disable start on boot (Darko Poljak)
	* Bugfix __consul_agent: Config option was misnamed 'syslog' instead of	'enable_syslog' (Steven Armstrong)

4.3.1: 2016-08-22
	* Documentation: Spelling fixes (Darko Poljak)
	* Type __filesystem: Spelling fixes (Dmitry Bogatov)
	* Core: Add target_host file to cache since cache dir name can be hash (Darko Poljak)
	* Core: Improve hostfile: support comments, skip empty lines (Darko Poljak)

4.3.0: 2016-08-19
	* Documentation: Add Parallelization chapter (Darko Poljak)
	* Core: Add -b, --enable-beta option for enabling beta functionalities (Darko Poljak)
	* Core: Add -j, --jobs option for parallel execution and add parallel support for global explorers (currently in beta) (Darko Poljak)
	* Core: Add derived env vars for target hostname and fqdn (Darko Poljak)
	* New type: __keyboard: Set keyboard layout (Carlos Ortigoza)
	* Documentation: Re-license types' man pages to GPLV3+ (Dmitry Bogatov,	Darko Poljak)
	* New type __filesystem: manage filesystems on devices (Daniel Heule)
	* New type: __locale_system (Steven Armstrong, Carlos Ortigoza, Nico Schottelius)
	* New type: __sysctl (Steven Armstrong)

4.2.2: 2016-07-26
	* Core: Fix ssh ControlPath socket file error (Darko Poljak)
	* Documentation: Update cdist man page and cdist-references (Darko Poljak)
	* Documentation: Change cdist and cdist-type__pyvenv man page licenses to GPLv3+ (Darko Poljak)
	* Documentation: Add FILES to cdist man page (Darko Poljak)

4.2.1: 2016-07-18
	* Build: Fix signed release (Darko Poljak)
	* Build: Fix building docs (Darko Poljak)
	* Documentation: Fix man pages (Dmitry Bogatov)
	* Documentation: Fix spellings (Dmitry Bogatov)

4.2.0: 2016-07-16
	* Build: Make github signed release (Darko Poljak)
	* Core: Fix hostdir: use hash instead of target host (Steven Armstrong)
	* Core: pep8 (Darko Poljak)
	* Documentation: Restructure and fix and improve docs and manpages (Darko Poljak)
	* Core: Add files directory for static files (Darko Poljak)
	* Custom: Add bash and zsh completions (Darko Poljak)
	* Core: Improve error reporting for local and remote run command (Darko Poljak)
	* New type: __jail_freebsd9: Handle jail management on FreeBSD <= 9.X (Jake Guffey)
	* New type: __jail_freebsd10: Handle jail management on FreeBSD >= 10.0 (Jake Guffey)
	* Type __jail: Dynamically select the correct jail subtype based on target host OS (Jake Guffey)
	* Explorer __machine_type: add openvz and lxc
	* Explorer __os __os_version: add scientific
	* Type various: add scientific
	* Explorer __machine_type: add virtualbox (Stu Zhao)

4.1.0: 2016-05-27
	* Documentation: Migrate to reStructuredText format and sphinx (Darko Poljak)
	* Core: Add -f option to read additional hosts from file/stdin (Darko Poljak)
	* Type __apt_key: Use pool.sks-keyservers.net as keyserver (Steven Armstrong)

4.0.0: 2016-05-04
	* Core: Fix bug with parallel hosts operation when output path is specifed (Darko Poljak)
	* Type __package_pip: Add support for running as specified user (useful for pip in venv) (Darko Poljak)
	* New type: __pyvenv: Manage python virtualenv (Darko Poljak)
	* Core: Add CDIST_REMOTE_COPY/EXEC env variables and multiplexing options for default scp/ssh (Darko Poljak)
	* Types: Remove bashisms in scripts (Darko Poljak)
	* Core: Fix bug in remote command with environment (Darko Poljak)
	* Core: Fix bug in local code execution (Darko Poljak)
	* Documentation: Fix spelling in manual pages (Dmitry Bogatov)
	* New type: __pacman_conf: Manage pacman.conf (Dominique Roux)
	* New type: __pacman_conf_integrate: cdist compatible pacman.conf (Dominique Roux)
	* Type __consul: Do not install unused package unzip (Steven Armstrong)
	* Type __consul: Add source & cksum for 0.5.2 (Steven Armstrong)
	* Core: Support object ids '.cdist' (Nico Schottelius)
	* Type __apt_norecommends: Also setup autoremove options (Dmitry Bogatov)
	* Type __user_groups: Add NetBSD support (Jonathan A. Kollasch)
	* Type __timezone: Add NetBSD support (Jonathan A. Kollasch)
	* Type __ccollect_source: Add NetBSD support (Jonathan A. Kollasch)
	* Type __directory: Add NetBSD support (Jonathan A. Kollasch)
	* Type __file: Add NetBSD support (Jonathan A. Kollasch)
	* Type __group: Add NetBSD support (Jonathan A. Kollasch)
	* Type __consul: Add new consul versions (Nico Schottelius)
	* Type __apt_ppa: Do not install legacy package python-software-properties (Steven Armstrong)

3.1.13: 2015-05-16
	* Type __block: Fix support for non stdin blocks (Dominique Roux)
	* Type __consul: Install package unzip (Nico Schottelius)
	* Type __consul: Add source & cksum for 0.5.1 (Nico Schottelius)
	* Type __consul_agent: Use systemd for Debian 8 (Nico Schottelius)
	* Type __firewalld_rule: Ensure firewalld package is present (David Hürlimann)
	* Type __locale: Support CentOS (David Hürlimann)
	* Type __staged_file: Fix comparison operator (Nico Schottelius)
	* Type __user_groups: Support old Linux versions (Daniel Heule)

3.1.12: 2015-03-19
	* Core: Support object ids '.cdist' (Nico Schottelius)
	* New type: __firewalld_rule (Nico Schottelius)
	* Type __consul_agent: add support for acl options (Steven Armstrong)
	* Type __consul_agent: add support for Debian (Nico Schottelius)
	* Type __package_apt: Use default parameters (Antoine Catton)
	* Type __package_luarocks: Use default parameters (Antoine Catton)
	* Type __package_opkg: Use default parameters (Antoine Catton)
	* Type __package_pacman: Use default parameters (Antoine Catton)
	* Type __package_pip: Use default parameters (Antoine Catton)
	* Type __package_pkg_freebsd: Use default parameters (Antoine Catton)
	* Type __package_pkg_openbsd: Use default parameters (Antoine Catton)
	* Type __package_pkgng_openbsd: Use default parameters (Antoine Catton)

3.1.11: 2015-02-27
	* New type: __staged_file: Manage staged files (Steven Armstrong)
	* New type: __config_file: Manage configuration files and run code on change (Steven Armstrong)
	* New type: __consul: install consul (Steven Armstrong)
	* New type: __consul_agent: manage the consul agent (Steven Armstrong)
	* New type: __consul_check: manages consul checks (Steven Armstrong)
	* New type: __consul_reload: reload consul (Steven Armstrong)
	* New type: __consul_service: manages consul services (Steven Armstrong)
	* New type: __consul_template: manage the consul-template service (Steven Armstrong)
	* New type: __consul_template_template: manage consul-template templates (Steven Armstrong)
	* New type: __consul_watch_checks: manages consul checks watches (Steven Armstrong)
	* New type: __consul_watch_event: manages consul event watches (Steven Armstrong)
	* New type: __consul_watch_key: manages consul key watches (Steven Armstrong)
	* New type: __consul_watch_keyprefix: manages consul keyprefix watches (Steven Armstrong)
	* New type: __consul_watch_nodes: manages consul nodes watches (Steven Armstrong)
	* New type: __consul_watch_service: manages consul service watches (Steven Armstrong)
	* New type: __consul_watch_services: manages consul services watches (Steven Armstrong)
	* New Type: __rsync (Nico Schottelius)
	* Type __start_on_boot: Support Ubuntu upstart (Nico Schottelius)
	* Type __timezone: Added support for FreeBSD (Christian Kruse)

3.1.10: 2015-02-10
	* Core: Fix too many open files bug (#343)
	* Type __ssh_authorized_keys: Remove unneeded explorer (Steven Armstrong)
	* Type __ssh_authorized_keys: Fix empty output bug of entry explorer (Steven Armstrong)
	* Type __package_apt: Add support for --target-release (Nico Schottelius)
	* Type __locale: Add support for Ubuntu (Nico Schottelius)
	* Type __group: Rewrite (Steven Armstrong)
	* Documentation: Fix typo in maintainer file (Stephan Kulla)

3.1.9: 2014-10-17
	* Type __package_emerge: Fix handling of slotted packages (Daniel Heule)
	* Type __package_apt: Use --force-confdef (Ricardo Catalinas Jiménez)
	* Type __package_update_index: Decrease verbosity (Ricardo Catalinas Jiménez)
	* Type __package_upgrade_all: Decrease verbosity (Ricardo Catalinas Jiménez)

3.1.8: 2014-10-01
	* New Type: __package_update_index (Ricardo Catalinas Jiménez)
	* New Type: __package_upgrade_all  (Ricardo Catalinas Jiménez)

3.1.7: 2014-09-29
	* Type __cdistmarker: Fix typo (Ricardo Catalinas Jiménez)
	* Core: Bugfix: Export messaging to manifests (Ricardo Catalinas Jiménez)
	* Explorer cpu_cores, cpu_sockets, memory: Add Mac OS X support (Manuel Hutter)
	* Type __ssh_authorized_keys: Ensure keys are correctly added (Steven Armstrong)
	* New Type: __ssh_authorized_key (Steven Armstrong)
	* New Type: __package_pkgng_freebsd (Jake Guffey)

3.1.6: 2014-08-18
	* New Type: __ssh_dot_ssh (Nico Schottelius)
	* Type __package_yum: Support retrieving package via URL (Nico Schottelius)
	* Type __hostname: Support SuSE and have CentOS use sysconfig value (Nico Schottelius)
	* Type __locale: Support SuSE (Nico Schottelius)
	* Type __locale: Support Archlinux (Nico Schottelius)
	* Type __timezone: Support SuSE (Nico Schottelius)
	* Type __file: Support MacOS X (Manuel Hutter)
	* Type __iptables_apply: Add "reset" to init.d script of iptables (Nico Schottelius)
	* Type __ssh_authorized_key: Use new type __ssh_dot_ssh (Nico Schottelius)
	* Type __zypper_repo: Bugfix for pattern matching (Daniel Heule)

3.1.5: 2014-05-05
	* Type __zypper_repo: Automatically import gpg keys (Daniel Heule)
	* Type __zypper_service: Automatically import gpg keys (Daniel Heule)

3.1.4: 2014-05-04
	* Core: Ensure all created files end in \n (Steven Armstrong)
	* Documentation: Cleanup up, added HTML links (Tomas Pospisek)
	* Explorer interfaces: Remove test output (Daniel Heule)
	* Type __jail: Add messaging support (Jake Guffey)

3.1.3: 2014-04-29
	* New Type: __yum_repo (Steven Armstrong)
	* Type __hostname: Add support for CentOS (Nico Schottelius)

3.1.2: 2014-04-12
	* Documentation: Add missing environment variables to reference (Nico Schottelius)
	* Type __qemu_img: size is optional, if state is not present (Nico Schottelius)
	* Type __key_value: Rewrite using awk (Daniel Heule)
	* New Type: __dog_vdi (Nico Schottelius)

3.1.1: 2014-03-26
	* Core: Make __object and __object_id available to code (Daniel Heule)
	* New explorer: cpu_cores (Daniel Heule/Thomas Oettli)
	* New explorer: cpu_sockets (Daniel Heule/Thomas Oettli)
	* New explorer: machine_type (Daniel Heule/Thomas Oettli)
	* New explorer: memory (Daniel Heule/Thomas Oettli)
	* Type __jail: Fix parameter names in explorer (Jake Guffey)
	* Type __line: Ensure permissions are kept (Steven Armstrong)
	* Type __link: Do not create link in directory, if link exists (Steven Armstrong)
	* Type __package_pkg_openbsd: Improve error handling (og)

3.1.0: 2014-03-19
	* New Type: __rbenv (Nico Schottelius)
	* Type __file: Enhance OpenBSD Support (og)
	* Type __git: Pass onwer/group/mode values to __directory (Nico Schottelius)
	* Type __iptable_rule: Fix example documentation (Antoine Catton)
	* Type __key_value: Add messaging support (Nico Schottelius)
	* Type __package_pkg_openbsd: Allow to change PKG_PATH (og)
	* Type __ssh_authorized_keys: Allow managing existing keys (Steven Armstrong)
	* Type __user: Enhance OpenBSD Support (og)

3.0.9: 2014-02-14
	* Core: Ignore order dependencies if override is set (Daniel Heule)
	* Core: Improve Mac OS X support for unit tests (Steven Armstrong)
	* Type __locale: Error out in case of unsupported OS (Nico Schottelius)
	* Type __jail: Use default parameters for state (Daniel Heule)
	* Type __pf_ruleset: Use default parameters for state (Daniel Heule)
	* Type __postgres_database: Use default parameters for state (Daniel Heule)
	* Type __postgres_role: Use default parameters for state (Daniel Heule)
	* Type __rvm: Use default parameters for state (Daniel Heule)
	* Type __rvm_gem: Use default parameters for state (Daniel Heule)
	* Type __rvm_gemset: Use default parameters for state (Daniel Heule)
	* Type __rvm_ruby: Use default parameters for state (Daniel Heule)

3.0.8: 2014-02-11
	* Core: Enhance object id verification (Daniel Heule)
	* Core: Add unit tests for dependencies based on execution order (Daniel Heule)
	* Core: Add unit tests for dry run (Daniel Heule)

3.0.7: 2014-02-08
	* Core: Allow dependencies to be created based execution order (Daniel Heule)
	* Core: Add tests for override (Daniel Heule)

3.0.6: 2014-02-06
	* New Type: __apt_key (Steven Armstrong)
	* New Type: __apt_key_uri (Steven Armstrong)
	* New Type: __apt_norecommends (Steven Armstrong)
	* New Type: __apt_source (Steven Armstrong)
	* New Type: __ccollect_source (Nico Schottelius)
	* Type __git: Use default parameters (Daniel Heule)
	* Type __jail: Use default parameters (Daniel Heule)
	* Type __package_yum: Use default parameters (Daniel Heule)
	* Type __package_zypper: Use default parameters (Daniel Heule)
	* Type __user_groups: Use default parameters (Daniel Heule)

3.0.5: 2014-02-05
	* Core: Introduce override concept (Daniel Heule)
	* Type __process: Make --state absent work (Steven Armstrong)
	* Documentation: Update documentation for environment variables (Nico Schottelius)

3.0.4: 2014-01-29
	* Core: Ignore install types in config mode (Nico Schottelius)
	* Documentation: Update reference (files path in object space) (Nico Schottelius)
	* Documentation: Update best practise: Replaces templates/ with files/ (Nico Schottelius)
	* Type __apt_ppa: Install required software (Steven Armstrong)
	* Type __debconf_set_selections: Support --file - to read from stdin (Nico Schottelius)
	* Type __jail: Fix jaildir parameter handling (Jake Guffey)

3.0.3: 2014-01-22
	* Core: Enhance error message when requirement is missing object id (Nico Schottelius)
	* Core: Add environment variable to select shell for executing scripts (Daniel Heule)
	* Explorer hostname: Return host name by using uname -n (Nico Schottelius)
	* New Type: __hostname (Steven Armstrong)
	* Type __cdist: Use default paremeters (Daniel Heule)
	* Type __key_value: Use default paremeters (Daniel Heule)
	* Type __line: Use printf instead of echo for printing user input (Nico Schottelius)
	* Type __qemu_img: Use default paremeters (Daniel Heule)
	* Type __zypper_repo: Use default paremeters (Daniel Heule)
	* Type __zypper_service: Use default paremeters (Daniel Heule)

3.0.2: 2014-01-19
	* Documentation: Document all messages sent by types (Daniel Heule)
	* New Type: __block (Steven Armstrong)
	* New Type: __mount (Steven Armstrong)
	* Type __cron: Replace existing entry when changing it (Daniel Heule)
	* Type __ssh_authorized_keys: Use new type __block (Steven Armstrong)

3.0.1: 2014-01-14
	* Core: Copy only files, not directories (Steven Armstrong)
	* Core: Allow hostnames to start with / (Nico Schottelius)
	* Type __line: Remove unnecessary backslash escape (Nico Schottelius)
	* Type __directory: Add messaging support (Daniel Heule)
	* Type __directory: Do not generate code if mode is 0xxx (Daniel Heule)
	* Type __package: Fix typo in optional parameter ptype (Daniel Heule)
	* Type __start_on_boot: Fix for SuSE's chkconfig (Daniel Heule)

3.0.0: 2013-12-24
	* Core: Added messaging support (Nico Schottelius)
	* Core: Removed unused "changed" attribute of objects  (Nico Schottelius)
	* Core: Support default values for multiple parameters (Steven Armstrong)
	* Core: Ensure Object Parameter file contains \n (Steven Armstrong)
	* New Type: __zypper_repo (Daniel Heule)
	* New Type: __zypper_service (Daniel Heule)
	* New Type: __package_emerge (Daniel Heule)
	* New Type: __package_emerge_dependencies (Daniel Heule)
	* Type __cron: Add support for raw lines (Daniel Heule)
	* Type __cron: Suppress stderr output from crontab (Daniel Heule)
	* Type __cron: Fix quoting issue (Daniel Heule)
	* Type __file: Do not generate code if mode is 0xxx (Nico Schottelius)
	* Type __iptables_rule: Use default parameter (Nico Schottelius)
	* Type __key_value: Fix quoting issue (Steven Armstrong)
	* Type __package: Use state --present by default (Steven Armstrong)
	* Type __package_zypper: Support non packages as well (Daniel Heule)
	* Type __package_zypper: Support package versions (Daniel Heule)
	* Type __postfix_*: Depend on __postfix Type (Steven Armstrong)
	* Type __postfix_postconf: Enable support for SuSE (Daniel Heule)
	* Type __postfix: Enable support for SuSE (Daniel Heule)
	* Type __start_on_boot: Use default parameter state (Nico Schottelius)
	* Type __start_on_boot: Add support for gentoo (Daniel Heule)
	* Type __user: Add support for state parameter (Daniel Heule)
	* Type __user: Add support for system users (Daniel Heule)
	* Type __user: Add messaging support (Steven Armstrong)
	* Type __zypper_service: Support older SuSE releases (Daniel Heule)

2.3.7: 2013-12-02
	* Type __file: Secure the file transfer by using mktemp (Steven Armstrong)
	* Type __file: Only remove file when state is absent (Steven Armstrong)
	* Type __link: Only remove link when state is absent (Steven Armstrong)
	* Type __directory: Only remove directory when state is absent (Steven Armstrong)
	* Type __directory: Fix newly introduced quoting issue (Nico Schottelius)
	* Type __package_zypper: Fix explorer and parameter issue (Daniel Heule)
	* Core: Fix backtrace when cache cannot be deleted (Nico Schottelius)

2.3.6: 2013-11-25
	* New Type: __locale (Nico Schottelius)
	* Type __line: Ensure special characters are not interpreted (Nico Schottelius)

2.3.5: 2013-10-10
	* Core: Unit test fix for remote_copy (Steven Armstrong)
	* Documentation: Updated manpages of __package and __file (Alex Greif)
	* Documentation: Add more examples to cdist-manifest (Dan Levin)
	* Type __package_apt: Do not install recommends by default (Nico Schottelius)

2.3.4: 2013-10-03
	* Core: Add missing bits to support dry run (Steven Armstrong)
	* Core: Make unit test remote copy more compatible with scp (Steven Armstrong)
	* New Type: __postfix (Steven Armstrong)
	* New Type: __postfix_master (Steven Armstrong)
	* New Type: __postfix_postconf (Steven Armstrong)
	* New Type: __postfix_postmap (Steven Armstrong)
	* New Type: __postfix_reload (Steven Armstrong)
	* Type __line: Ensure regex does not contain /
	* Type __ssh_authorized_keys: Bugfix: Preserve ownership (Steven Armstrong)

2.3.3: 2013-09-09
	* Core: Add support for default values of optional parameters (Steven Armstrong)
	* Type __start_on_boot: Bugfix for systemd (Steven Armstrong)

2.3.2: 2013-09-05
	* Build: Ensure tests don't change attributes of non-test files (Nico Schottelius)
	* Core: Fix typo in argument parser (Nico Schottelius)
	* Core: Code cleanup: Remove old install code (Steven Armstrong)
	* Core: Improve error message when using non-existing type in requirement (Nico Schottelius)
	* New Type: __iptables_rule (Nico Schottelius)
	* New Type: __iptables_apply (Nico Schottelius)
	* Type __cdist: Also create home directory (Nico Schottelius)
	* Type __cdist: Add support for --shell parameter (Nico Schottelius)
	* Type __motd: Regenerate motd on Debian and Ubuntu (Nico Schottelius)

2.3.1: 2013-08-28
	* Core: Support relative paths for configuration directories (Nico Schottelius)
	* Core: Code cleanup (removed context class, added log class) (Nico Schottelius)
	* Documentation: Add more best practises (Nico Schottelius)
	* Documentation: Add troubleshooting chapter (Nico Schottelius)
	* Type __key_value: Fix quoting problem (Steven Armstrong)

2.3.0: 2013-08-12
	* Core: Added support for cdist shell (Nico Schottelius)
	* Documentation: Improved some manpages (Nico Schottelius)

2.2.0: 2013-07-12
	* Build: Cleanup the Makefile (Nico Schottelius)
	* Type __package_opkg: Use shortcut version (Nico Schottelius)
	* Core: Remove old pseudo object id "singleton" (Steven Armstrong)

2.1.2: 2013-07-09
	* Build: Change clean-dist target to "distclean" (Nico Schottelius)
	* Build: Moved a lot of build logic into Makefile for dependency resolution
	* Core: Make global explorers available to initial manifest (Arkaitz Jimenez)
	* Core: Change execution order to run object as one unit (Nico Schottelius)
	* Documentation: Improved documentation (Tomáš Pospíšek)
	* New Remote Example: Add support for sudo operations (Chase James)
	* New Type: __update_alternatives (Nico Schottelius)
	* New Type: __cdist (Nico Schottelius)
	* Type __apt_ppa: Fix comparison operator (Tyler Akins)
	* Type __start_on_boot: Archlinux changed to use systemd - adapt type (Nico Schottelius)
	* Type __git: Missing quotes added (Chase James)
	* Type __postgres_database: Make state parameter optional (Chase James)
	* Type __postgres_role: Make state parameter optional, fix password bug (Chase James)
	* Type __process: Make state parameter optional (Nico Schottelius)
	* Type __cron: Simplyfied and syntax change (Nico Schottelius)

2.1.1: 2013-04-08
	* Core: Use dynamic dependency resolver to allow indirect self dependencies (Nico Schottelius)
	* Core: Remove umask call - protect /var/lib/cdist only (Arkaitz Jimenez)
	* Explorer os: Added Slackware support (Eivind Uggedal)
	* Type __git: Support mode and fix owner/group settings (contradict)
	* Type __jail: State absent should implies stopped (Jake Guffey)
	* Type __directory: Make stat call compatible with FreeBSD (Jake Guffey)
	* Type __cron: Allow crontab without entries (Arkaitz Jimenez)
	* Type __user: Add support for creating user home (Arkaitz Jimenez)

2.1.0: 2012-12-09
	* Core: Ensure global explorers are executable (Nico Schottelius)
	* Core: Ensure type explorers are executable (Steven Armstrong)
	* New Type: __git (Nico Schottelius)
	* New Type: __ssh_authorized_keys (Steven Armstrong)
	* New Type: __user_groups (Steven Armstrong)
	* Type __rvm_gemset: Change parameter "default" to be boolean (Nico Schottelius)
	* Type __user: Remove --groups support (now provided by __user_groups)
	* Type __apt_ppa: Bugfix: Installeded ppa detection (Steven Armstrong)
	* Type __jail: Change optional parameter "started" to boolean "stopped" parameter,
		change optional parameter "devfs-enable" to boolean "devfs-disable" parameter and
		change optional parameter "onboot" to boolean. (Nico Schottelius)
	* Type __package_pip: Bugfix: Installeded the package, not pyro (Nico Schottelius)
	* Remove Type __ssh_authorized_key: Superseeded by __ssh_authorized_keys (Nico Schottelius)
	* Support for CDIST_PATH (Steven Armstrong)

2.1.0pre8: 2012-11-15
	* Type cleanup: __apt_ppa, __apt_ppa_update_index, __file,
		__ssh_authorized_key, __timezone, all install types (Steven Armstrong)
	* Types: Remove all parameter changing code (Nico Schottelius)
	* Type __rvm_ruby: Change parameter "default" to be boolean (Nico Schottelius)
	* Documentation: Web documentation clean up (Nico Schottelius)

2.1.0pre7: 2012-11-07
	* Core: All unit tests restored back to working (Nico Schottelius)
	* Core: Print error message when missing the initial manifest (Nico Schottelius)

2.1.0pre6: 2012-11-05
	* New Example: Turn remote calls into local calls (used for unittesting) (Nico Schottelius)
	* Core: Export PYTHONPATH, it's also needed by emulator (Nico Schottelius)
	* Bugfix Type __rvm_ruby: Add clean package dependencies (Nico Schottelius)
	* Bugfix Type __rvm_gem: Run rvm as user, not as root (Nico Schottelius)
	* Cleanup Type __rvm, __rvm_gemset: Use shortcut version (Nico Schottelius)
	* Bugfix __rvm_gemset: Correctly check for gemsets (Nico Schottelius)
	* Cleanup Type __postgres_database,  __postgres_role: Reference each other
		in documentation (Nico Schottelius)
	* Cleanp Type __postgres_role: Use boolean parameters where appropriate (Nico Schottelius)
	* Cleanp Type __postgres_role: Use shortcut version (Nico Schottelius)

2.1.0pre5: 2012-11-01
	* Core: First round of tests updated to work with multiple configuration directories (Nico Schottelius)

2.1.0pre4: 2012-10-31
	* Dist: PyPi: Moved cdist.py to script/cdist to avoid double import (Nico Schottelius)
	* Core: Added support for multiple configuration directories (no documentation) (Nico Schottelius)

2.1.0pre3: 2012-10-30
	* Dist: PyPi: Types and explorer included as package data (Nico Schottelius)

2.1.0pre2: 2012-10-26
	* Dist: PyPi: Add conf/ directory to distribution (Nico Schottelius)
	* Dist: Initial support for archlinux packaging (Nico Schottelius)

2.1.0pre1: 2012-10-26
	* Core: Removed obsolete variable __self (Nico Schottelius)
	* Removed type __addifnosuchline (replaced by __line) (Nico Schottelius)
	* Removed type __removeline (replaced by __line) (Nico Schottelius)
	* Type __directory: Parameter --parents and --recursive are now boolean (Nico Schottelius)
	* Type __package_apt, __package_luarocks, __package_opkg,
		__package_pacman, __package_pkg_freebsd, __package_pkg_openbsd,
		__package_rubygem, __package_yum, __process:
			Parameter state accepts only "present" and "absent" (Nico Schottelius)
	* Dist: Initial support for pypi packaging (Nico Schottelius)

2.0.15: 2012-11-02
	* Core: Make variable __object_name available in type explorers (Steven Armtrong)
	* New Type: __qemu_img (Nico Schottelius)
	* New Type: __line (Nico Schottelius)
	* New Type: __pf_apply (Jake Guffey)
	* New Type: __pf_ruleset (Jake Guffey)
	* Bugfix Type: __rvm: Make type work if rvm is already installed (Nico Schottelius)

2.0.14: 2012-09-07
	* Bugfix Type: __jail: Use correct variable (Jake Guffey)
	* Change Type: __jail: Parameter jailbase now optional (Jake Guffey)
	* Bugfix Type: __user: Use passwd database on FreeBSD (Jake Guffey)
	* Bugfix Type: __start_on_boot: Do not change parameters (Nico Schottelius)
	* Feature __user: Added support for BSDs (Sébastien Gross)
	* Feature __group: Added support for FreeBSD (Jake Guffey)
	* New Type: __package_zypper (Nico Schottelius)
	* Feature Types: Initial Support for SuSE Linux (Nico Schottelius)

2.0.13: 2012-06-05
	* Bugfix __ssh_authorized_key: Ensure it sets proper group (contradict)
	* Bugfix __addifnosuchline: Fixed quotes/interpolation bug ("a  b" became "a b") (Nico Schottelius)
	* New Explorer: interfaces (Sébastien Gross)
	* Feature core: Support reading from stdin in types (Steven Armstrong)
	* Feature core: Support multiple parameters for types (Steven Armstrong)
	* Feature __file: Support reading from stdin with - syntax (Steven Armstrong)

2.0.12: 2012-05-29
	* Core: Correctly raise error on Python < 3.2 (Steven Armtrong)
	* Core: Add support for --remote-exec and --remote-copy parameters (Nico Schottelius)
	* Documentation: Debian Squeeze hints (Sébastien Gross)

2.0.11: 2012-05-23
	* Fix insecure file/directory creation: Use umask 077 (Nico Schottelius)

2.0.10: 2012-05-18
	* Cleanup __group: No getent gshadow in old Redhat, use groupmod -g
		(Matt Coddington)
	* Bugfix __package_yum: Missing cat (Nico Schottelius)
	* Bugfix __start_on_boot: Correctly use sed and quotes (Steven Armstrong)
	* Feature __file: Support for --state exists (Steven Armstrong)
	* Feature core: Make variable __manifest available to type manifests (Nico Schottelius)
	* Feature core: Correct parent dependency handling (Steven Armstrong)
	* Bugfix several types: Fix sed for FreeBSD (Istvan Beregszaszi)
	* New Type: __jail (Jake Guffey)
	* Change Type: __rvm*: --state present/absent not installed/remvoed (Evax Software)
	* Bugfix Type: __cron: Hide error output from crontab (Nico Schottelius)
	* Various smaller bugfixes (Chris Lamb)

2.0.9: 2012-03-12
	* Cleanup documentation: Fix environment variable list to be properly
		displayed (Giel van Schijndel)
	* Cleanup documentation: Some minor corrections
	* New Type: __package_opkg (Giel van Schijndel)
	* New Type: __package_pkg_freebsd (Jake Guffey)
	* New Type: __mysql_database (Benedikt Koeppel)
	* Feature __package: Support for OpenWRT (Giel van Schijndel)
	* Feature __start_on_boot: Support for OpenWRT (Giel van Schijndel)
	* Feature __start_on_boot: Support for Amazon Linux (Matt Coddington)
	* New Example: Use rsync to backup files (Matt Coddington)
	* Feature core: Exit non-zero, if configuration failed (Nico Schottelius)
	* Documentation: Describe how to do templating (Aurélien Bondis)

2.0.8: 2012-02-20
	* Bugfix core: Remove another nasty traceback when sending SIGINT (aka Ctrl-C) (Nico Schottelius)
	* Cleanup: Better hint to source of error (Nico Schottelius)
	* Cleanup: Do not output failing script, but path to script only (Nico Schottelius)
	* Cleanup: Remove support for __debug variable in manifests (Type != Core
		debugging) (Nico Schottelius)
	* Cleanup: Change __package_* to support absent/present (default state
		name now). The values removed/installed will be removed in cdist 2.1. (Nico Schottelius)
	* Cleanup: Change __process to support absent/present (default state
		name now). The values running/stopped will be removed in cdist 2.1. (Nico Schottelius)
	* Feature Core: Support boolean parameters (Steven Armstrong)

2.0.7: 2012-02-13
	* Bugfix __file: Use chmod after chown/chgrp (Matt Coddington)
	* Bugfix __user: Correct shadow field in explorer (Matt Coddington)
	* Bugfix __link: Properly handle existing links (Steven Armstrong)
	* Bugfix __key_value: More robust implementation (Steven Armstrong)
	* Bugfix __user: Fix for changing a user's group by name (Matt Coddington)
	* New Type: __package_pip (Nico Schottelius)
	* Bugfix/Cleanup: Correctly allow Object ID to start and end with /, but
		not contain //. (Nico Schottelius)

2.0.6: 2012-01-28
	* Bugfix __apt_ppa:
		Also remove the [ppa-name].list file, if empty. (Tim Kersten)
	* Bugfix __group:
		Referenced wrong variable name (Matt Coddington)
	* Feature __package_apt:
		Initial support for virtual packages (Evax Software)
	* Feature Core: Added new dependency resolver (Steven Armstrong)
	* Feature Explorer, __package_yum: Support Amazon Linux (Matt Coddington)
	* New Type: __rvm (Evax Software)
	* New Type: __rvm_gem (Evax Software)
	* New Type: __rvm_gemset (Evax Software)
	* New Type: __rvm_ruby (Evax Software)

2.0.5: 2012-01-18
	* Bugfix __key_value: Use correct delimiters
		(Steven Armstrong, Daniel Maher)
	* Cleanup: Explicitly require Python >= 3.2 (do not fail implicitly) (Nico Schottelius)
	* Documentation: (Re)write of the tutorial (Nico Schottelius)
	* Feature: __addifnosuchline supports matching on
		regular expressions (Daniel Maher)
	* Feature: __directory, __file, __link:
		Add --state parameter (Steven Armstrong)
	* New Type: __package_luarocks (Christian G. Warden)
	* New Type: __cdistmarker (Daniel Maher)

2.0.4: 2011-11-18
	* Bugfix core: Remove traceback when sending SIGINT (aka Ctrl-C) (Nico Schottelius)
	* Bugfix core: Accept parameters with - in the name (Steven Armstrong)
	* Cleanup: __object_fq variable removed (never used) (Nico Schottelius)
	* Cleanup: Environment variable __self DEPRECATED, use __object_name instead (Nico Schottelius)
	* Cleanup: Environment variable __self scheduled for removal in cdist 2.1 (Nico Schottelius)
	* Documentation: Many examples for use of __remote_* (Steven Armstrong)
	* Feature: Automatically require all used objects (Steven Armstrong)
	* New Type: __cron (Steven Armstrong)

2.0.3: 2011-10-18
	* Improved logging, added --verbose, by more quiet by default
	* Bugfix __user: Correct quoting (Steven Armstrong)
	* Bugfix __addifnosuchline: Falsely exited (Nico Schottelius)
	* Bugfix requirements: Restore original require="" behaviour (Nico Schottelius)
	* Feature requirements: Check for broken object_ids and abort (Nico Schottelius)
	* Massive refactoring and unittesting introduced (Steven Armstrong)

2.0.2: 2011-09-27
	* Add support for detection of OpenWall Linux (Matthias Teege)
	* Add support for __debug variable in manifests (Nico Schottelius)
	* Bugfix core: Various issues with type emulator (Nico Schottelius)

2.0.1: 2011-09-23
	* Bugfix core: Always print source of error in case of exec errors (Nico Schottelius)
	* Bugfix core: Various smaller bugs in string concatenation (Nico Schottelius)
	* Feature: Add marker "changed" to changed objects (Nico Schottelius)

2.0.0: 2011-09-16
	* New Type: __package_rubygem (Chase Allen James)
	* __self replaced by __object_fq (Nico Schottelius)
	* Rewrote cdist in Python (Nico Schottelius)

1.7.1: 2011-07-26
	* Documentation: Add explorers to reference (Nico Schottelius)
	* Documentation: Typo cleanup (Derek Brost)
	* Type __key_value: Bugfix (Steven Armstrong)
	* New Type: __postgres_role (Steven Armstrong)
	* New Type: __postgres_database (Steven Armstrong)

1.7.0: 2011-05-10
	* Bugfix type __package_yum: Fix redhat support (Ramon Salvadó)
	* Improved type __package_yum: Add centos support (Ramon Salvadó)
	* New Type: __timezone (Ramon Salvadó)
	* Renamed explorer: hardware_type to machine (Nico Schottelius)
	* Core: Do not execute empty code fragments (Nico Schottelius)

1.6.2: 2011-04-19
	* Core: Introduce __cdist_tmp_base_dir (Nico Schottelius)
	* Core: Cleanup and enhance cdist-type-template (Nico Schottelius)
	* Core: cdist-mass-deploy: Report failed cdist-deploy-to instances (Nico Schottelius)
	* New Type: __ssh_authorized_key (Aurélien Bondis)

1.6.1: 2011-04-07
	* Improved logging: Show code responsible for abort (Nico Schottelius)
	* Improved logging: Consistently prefix with current object or core (Nico Schottelius)
	* Bugfix: Type __debconf_set_selections used wrong contens for selection (Nico Schottelius)
	* Bugfix: Don't fail, if cache directory is not existing (Nico Schottelius)
	* Bugfix: __user and __group exited non-zero if no change was necessary (Nico Schottelius)
	* New Explorer: hardware_type (Nico Schottelius)
	* New Type: __package_pkg_openbsd (Andi Brönnimann)
	* New Type: __autofs_map (Steven Armstrong)
	* New Type: __autofs_master (Steven Armstrong)

1.6.0: 2011-04-06
	* New Type: __package_yum (Nico Schottelius)
	* New type: __debconf_set_selections (Nico Schottelius)
	* New explorer: os_version (Nico Schottelius)
	* Bugfix: Type __group failed in case of __group NAME syntax (Nico Schottelius)
	* Bugfix: __package* types: consistently name --state removed instead of
		uninstalled or deinstalled (Nico Schottelius)
	* Type __package: Added Fedora support (Nico Schottelius)
	* Type __package_apt: Removed --preseed support (Nico Schottelius)
	* Explorer os gained Fedora support (Nico Schottelius)
	* Simplified types __user and __group (Nico Schottelius)
	* New helper binary: cdist-mass-deploy (Nico Schottelius)

1.5.0: 2011-04-01
	* Add basic cache functionality (Nico Schottelius)
	* New type: __process (Nico Schottelius)
	* Restructured execution: (Steven Armstrong)
		Orientate processing on objects, resolve dependencies and
		ensure correct execution order.
	* Documentation: Rewrite stages docs (Steven Armstrong)
	* Documentation: Remove legacy man pages (Steven Armstrong)

1.4.1: 2011-03-25
	* New type: __key_value (Steven Armstrong)
	* New type: __apt_ppa (Steven Armstrong)
	* Documentation: Manpage generation cleanup (Nico Schottelius)
	* Documentation: Manpage fix for __apt_ppa

1.4.0: 2011-03-24
	* Add --recursive to __directory (Nico Schottelius)
	* Move cdist generated stuff to .cdist of an object (Nico Schottelius)
	* Allow objects to be redefined (Nico Schottelius)

1.3.2: 2011-03-21
	* Add --source to __motd (Nico Schottelius)
	* Add --preseed to __package_apt (Nico Schottelius)
	* Include HTML documentation of manpages and publish them (Nico Schottelius)

1.3.1: 2011-03-21
	* Document: cdist-type-build-emulation (Nico Schottelius)
	* Document: cdist-type-emulator (Nico Schottelius)
	* Document: cdist-remote-explorer-run (Nico Schottelius)
	* Fix dependencies in cdist-code-run (Nico Schottelius)
	* Fix dependencies in cdist-manifest-run-all (Nico Schottelius)
	* Add --source to __issue and fix os check (Nico Schottelius)

1.3.0: 2011-03-20
	* Add support for local and remote code generation and execution (Nico Schottelius)
	* Bugfix: Remove obsolete $@ call in cdist-remote-explorer-run (Nico Schottelius)
	* Bugfix: Correct manpage for __removeline (broke manpage generation) (Nico Schottelius)

1.2.0: 2011-03-19
	* Added dependencies (see cdist-type(7)) (Nico Schottelius)
	* New type: __removeline (Daniel Roth)
	* New type: __group (Steven Armstrong)
	* New type: __user (Steven Armstrong)
	* Documentation: cdist-run-remote (Nico Schottelius)
	* Documentation: cdist-code-run-all (Nico Schottelius)
	* Documentation: cdist-object-gencode (Nico Schottelius)
	* Documentation: cdist-explorer-run-global (Nico Schottelius)
	* Documentation: cdist-manifest-run-init (Nico Schottelius)
	* Documentation: cdist-manifest-run-all (Nico Schottelius)
	* Documentation: cdist-object-gencode-all (Nico Schottelius)
	* Documentation: cdist-manifest-run (Nico Schottelius)

1.1.0: 2011-03-16
	* Replace type __file with __file, __directory, __link (Nico Schottelius)
	* Documentation: cdist-env (Nico Schottelius)
	* Documentation: cdist-config (Nico Schottelius)
	* Documentation: cdist-dir (Nico Schottelius)
	* Documentation: cdist-quickstart (Nico Schottelius)

1.0.4: 2011-03-15
	* New type: __motd (Nico Schottelius)
	* New type: __addifnosuchline (Daniel Roth)
	* New type: __user (Nico Schottelius)
	* Document type: __issue (Nico Schottelius)
	* Document type: __package (Nico Schottelius)
	* Document type: __package_pacman (Nico Schottelius)
	* Document type: __package_apt (Nico Schottelius)
	* New parameter for __file: --owner and --group (Nico Schottelius)

1.0.3: 2011-03-11
	* Update regexp used for sane characters (Nico Schottelius)
	* Allow types without parameters (Nico Schottelius)
	* Allow type to be singleton (Nico Schottelius)
	* Type __file learned --type symlink (Nico Schottelius)

1.0.2: 2011-03-09
	* Add manpages: cdist-type, cdist-type__file, cdist-reference, cdist-explorer (Nico Schottelius)
	* Make doc/man/ usable as MANPATH entry (Nico Schottelius)

1.0.1: 2011-03-08
	* Added cdist-type-template including manpage (Nico Schottelius)
	* Fix manpage building (Nico Schottelius)
	* Add new manpages: cdist-stages, cdist-bin-transfer (Nico Schottelius)

1.0.0: 2011-03-07
	* Initial release (Nico Schottelius)
