Changelog --------- 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)