Rex Changelog

What's new in Rex 1.14.2.3

Aug 4, 2023
  • [BUG FIXES]:
  • Fix checking command existence

New in Rex 1.14.2.2 (Aug 2, 2023)

  • [BUG FIXES]:
  • Fix checking test git repository
  • Fix local package installation

New in Rex 1.14.2.1 (May 29, 2023)

  • [BUG FIXES]:
  • Fix skipping tests without git
  • Fix changing directory into git test repository

New in Rex 1.14.2 (May 7, 2023)

  • [BUG FIXES]:
  • Fix switching working directory to another drive
  • Fix git cloning into an existing empty directory
  • Fix Rexfile loading tests after perl-5.37.9

New in Rex 1.14.1 (Mar 6, 2023)

  • [DOCUMENTATION]:
  • Clarify PATH settings for executing commands
  • Clarify sync command locality
  • Clarify run command output handling

New in Rex 1.13.4.1 (Jan 30, 2023)

  • [BUG FIXES]:
  • Detect invalid hostgroup expressions
  • Prevent empty log lines upon Rexfile warnings
  • Fix tests on Strawberry Perl older than 5.18.4
  • Fix test warnings on Perl before 5.16.0
  • [DOCUMENTATION]:
  • Clarify optional arguments of file commands
  • Clarify optional arguments of the pkg command
  • Correct example for file_read command
  • [ENHANCEMENTS]:
  • Show Rexfile path in loading messages
  • Hide internal details when Rexfile loading fails
  • [MINOR]:
  • Set minimum required Perl version to 5.12.5
  • [REVISION]:
  • Fix handling of warnings during Rexfile loading
  • Mask internal naming in Rexfile loading output

New in Rex 1.13.4 (Jul 7, 2021)

  • [DOCUMENTATION]:
  • Add section about Rex core vs extending Rex
  • Add common scenarios to contributing guide
  • Clarify documentation of run command
  • Clarify documentation of can_run command
  • Fix Rex::Task synopsis
  • Clarify documentation of rex script

New in Rex 1.13.3.2 (Jul 5, 2021)

  • Fix local file copy on Windows

New in Rex 1.13.3.1 (Jul 5, 2021)

  • Remove unused tasks array
  • Fix file hooks when source option is used

New in Rex 1.13.3 (Mar 8, 2021)

  • [BUG FIXES]:
  • Fix parsing debconf values containing colons
  • [DOCUMENTATION]:
  • Clarify contributing guide
  • Remove misleading sudo command variant

New in Rex 1.13.2 (Dec 7, 2020)

  • [DOCUMENTATION]:
  • Clarify templating documentation

New in Rex 1.13.1 (Nov 6, 2020)

  • [DOCUMENTATION]
  • Clarify perlcritic policy

New in Rex 1.13.0.3 (Nov 2, 2020)

  • [BUG FIXES]:
  • Fix gathering OS version for Cygwin
  • Fix excessive caching when querying a CMDB item
  • Fix gathering OS version for Windows
  • Add missing autodie feature flag

New in Rex 1.13.0.2 (Oct 29, 2020)

  • BUG FIXES:
  • Fix CMDB hostname when Rex is being run locally
  • Fix replacing hostname macro in CMDB paths
  • Fix host information gathering on Windows
  • Fix hostname detection on Windows
  • Fix CMDB path separators on Windows
  • [DOCUMENTATION:
  • Clarify CMDB documentation
  • [REVISION:
  • Add initial CMDB path tests

New in Rex 1.13.0.1 (Oct 14, 2020)

  • [BUG FIXES]:
  • Fix MD5 checksumming when default perl does not have Digest::MD5 or incompatible with the perl running rex

New in Rex 1.13.0 (Oct 6, 2020)

  • [BUG FIXES]:
  • Fix MD5 checksumming if filename looks like md5 output
  • Fix fallback hostname detection on Linux
  • Require minimum version of List::MoreUtils
  • [NEW FEATURES]:
  • Add on_no_change hook for file commands
  • [REVISION]:
  • Add progressive perlcritic test
  • Enable more perlcritic policies

New in Rex 1.12.2 (Oct 2, 2020)

  • [BUG FIXES]:
  • Fix fallback MD5 calculation method on OS X
  • Fix dmidecode section getter
  • Fix cpuinfo parsing
  • Fix registering custom template functions
  • Fix handling of configuration file settings
  • Skip MD5 binary test if there's no binary available
  • Warn if cpuinfo is unreadable
  • Fix file hook options
  • Fix file on_change hook when source option is used
  • Set uniform environment for Debian package commands
  • Disable apt-listbugs
  • [DOCUMENTATION]:
  • Clarify contributing guide
  • Clarify INI file documentation
  • Document custom server parameters in INI files
  • Clarify installation of OS-specific dependencies
  • Clarify installation steps
  • [REVISION]:
  • Set Travis CI root build job options explicitly
  • Test internal MD5 checksumming methods
  • Report coverage to Coveralls
  • Add initial test for proc inventory
  • Test custom template functions
  • Add initial config file tests
  • Test custom server functions
  • Add test for OS-specific dependencies
  • List optional features and their dependencies
  • List suggested development dependencies
  • Test cpuinfo inventory
  • Add initial file hook tests
  • Add file on_change tests for source option

New in Rex 1.12.1 (Aug 6, 2020)

  • [DOCUMENTATION]:
  • Document feature flags
  • Clarify description of the rex script
  • [REVISION]:
  • Gather only files tracked by git

New in Rex 1.12.0 (Aug 4, 2020)

  • [BUG FIXES]:
  • Discontinue support for Windows 7, Windows Server 2008 R2, and older
  • Avoid caching of Bash completion options to support multiple Rexfiles
  • Fix calling get_file_path from Rexfile
  • Fix quoting of rsync parameters
  • Fix local download rsync operations
  • Fix determining local connections for rsync operations
  • [ENHANCEMENTS]:
  • Extend Bash completion with known hosts
  • Support wildcards in get_file_path
  • Split out temp file naming logic
  • [NEW FEATURES]:
  • Enable Bash completion of available CLI options
  • Add tab completion for Zsh
  • Enable local rsync operations
  • Distribute tab completion scripts
  • [REVISION]:
  • Use author tests to check tidiness of bin files
  • Use Symbol to manipulate Perl symbols
  • Add initial rsync tests
  • - Test rsync with spaces in source path
  • - Test rsync with wildcard in source path
  • - Add initial test for temp file names
  • - Simplify temp file naming logic
  • - Use set semantics for directory comparisons

New in Rex 1.4.0 (Mar 7, 2016)

  • Normalize EOL characters earlier (fix #957) - Ferenc Erki
  • fixed variable usage - Jan
  • remove chr(13) everywhere - fix #957 - Jan
  • cleanup newline(s) at the end. fix for #957 - Jan
  • Increase timeout for read_buffer test (fix #954) - Ferenc Erki
  • Test with a bit less output - Ferenc Erki
  • Update read_buffer test for Windows - Ferenc Erki
  • removed read_buffer reduction - Jan Gehring
  • Handle partial last chunks from STDOUT and STDERR - Ferenc Erki
  • Fix draining IO - Ferenc Erki
  • Add initial tests for draining IO - Ferenc Erki
  • fix continuous read bug - RexOps/#951 - Jan
  • Reopen STDERR after loading Rexfile - Dmitry Kopytov
  • Let service tests be silent - Ferenc Erki
  • Don't confess upon failure of a non-resource (fix #936) - Ferenc Erki
  • iptables_clear should clear only loaded tables - Dmitry Kopytov
  • Fix copy-pasta POD errors - Ferenc Erki
  • Make CPAN Testers happy for unsupported OSes - Ferenc Erki
  • fixed issue of calling Rex::Args->get inside before_task_start - RexOps/Rex#934 - krimdomu
  • can't connect message must be ::info logging - krimdomu
  • check if task is no object, and get the task object then - Jan Gehring
  • removed connecting to mesages (change to debug level) - Jan Gehring
  • added parameters to do_task and fixed LOCAL block - Jan Gehring
  • fixed calling of exit hooks after summary - Jan Gehring
  • Update docs for Rex::Task - Ferenc Erki
  • Add docs for Rex::Shared::Var (fix #920) - Ferenc Erki
  • Update sudo docs (fix #918) - Ferenc Erki
  • Fix summary tests for Mac OS X - Ferenc Erki
  • Add tests for task hooks - Ferenc Erki
  • don't clone task object. When cloned before_task_start/after_task_finished hooks doesn't work - fix #919 - krimdomu
  • debug output now gets displayed again. - fix RexOps/Rex#910 - krimdomu
  • fix loading of Rexfile on perl 5.8.9 - RexOps/Rex#922 - krimdomu
  • fixed loading of resource module in perl 5.8 - RexOps/Rex#917 - krimdomu
  • try to fix failing tests on freebsd - #901 - krimdomu
  • Fix POD - Ferenc Erki
  • Unbundle AWS::Signature4 - Ferenc Erki
  • Fix rendering of false values in templates - Ferenc Erki
  • Test rendering of false values in templates - Ferenc Erki
  • Avoid __Rexfile__ as dependency - Ferenc Erki
  • Enable more feature flags for development releases - Ferenc Erki
  • Use development versioning - Ferenc Erki
  • Pass options to mkfs (#fix 905) - Ferenc Erki
  • Don't fail mkfs if label is undefined - Ferenc Erki
  • Skip creating filesystems for some reserved words - Ferenc Erki
  • Check for fstype existence at the start - Ferenc Erki
  • Update docs for partition command - Ferenc Erki
  • Remove purge package action on arch (fix #867) - Ferenc Erki
  • Use sysread for local exec interface too (fix #887) - Ferenc Erki
  • Avoid bitshifting error code twice (fix #901) - Ferenc Erki
  • add default values for cpu and memory - krimdomu
  • some windows fixes for rexify command - krimdomu
  • run shell detection a second time if first time failed - krimdomu
  • remove unnecessary new lines - krimdomu
  • moved detect method to base, because it is everywhere the same, created direct_exec method for all interfaces - krimdomu
  • remove error message, we don't need it for the tests - krimdomu
  • fixed inheritance problem, moved shell() method to base class. - krimdomu
  • return always shell object - krimdomu
  • load right cron module if os is *bsd and shell is csh - #883 - krimdomu
  • use sysread to read from filehandle. fixes #887 - krimdomu
  • Read STDOUT and STDERR in parallel (fix #756) - Ferenc Erki
  • fix error code in $? after a run command which was introduced by 6c8441 - krimdomu
  • print the error message in the summary when a task die()d - krimdomu
  • readd close of stderr - krimdomu
  • only update chained resource when the upper resource wasn't changed before. Also removed 'inside resource check' because this is not needed anymore due to stacked resources - krimdomu
  • fix loading of libraries in lib directory when use -f path/to/Rexfile - krimdomu
  • fixed loading of rexfiles with -f - krimdomu
  • load a rexfile also if it doesn't return a true value. This fixes a regression - RexOps/Rex#513 - krimdomu
  • fixed reporting of nested resources (changed resource) - krimdomu
  • fixed firewall resource to work with ipv6 patch - krimdomu
  • added Rex::Args->get method again. fixes #860 - krimdomu
  • Refactor Rex::TaskList. No functional change. - Eric Johnson
  • fixed tests for windows - krimdomu
  • added tmp to gitignore - krimdomu
  • Add Rex::Commands::Mkfs to rexify and pp.args - Ferenc Erki
  • The after hook now runs even if the ssh connection fails. - Eric Johnson
  • added archlinux support - Harm Müller
  • support key_url and key_file also on redhat systems - krimdomu
  • also lookup task name in cmdb - krimdomu
  • Fix regression in deprecated static call to Rex::Task->run() - Eric Johnson
  • Fix links in README (fix #853) - Ferenc Erki
  • Output full task names (fix #825, close #842) - Daniel Cesario
  • use empty string to prevent uninitialized warning messages - krimdomu
  • make environment available inside cmdb template - krimdomu
  • color for windows - krimdomu
  • defaults for cpus and memory - krimdomu
  • call after task hook, even if connection to system failed - krimdomu
  • fix after hook call for connections that wasn't successfull - krimdomu
  • Fix passing memory/cpus options to constructor - Ferenc Erki
  • Allow tests so set Box memory and cpus (close #839) - Patrick Lauer
  • Exit with an error message when a bad task name is used. - Eric Johnson
  • Exit codes now work when using 'rex -e' (fix #761, close #840) - Eric Johnson
  • Fix indentation - Eric Johnson
  • Refactor out some code into handle_lock_file() - Eric Johnson
  • Refactor out logic for loading server ini file into load_server_ini_file(). - Eric Johnson
  • Put Rexfile exists check inside load_rexfile() - Eric Johnson
  • Simplify loading the Rexfile and improve error handling. - Eric Johnson
  • Add missing Data::Dumper import - Ken Crowell
  • Tests for needs() were not useful. Now they are. - Eric Johnson
  • allow mix of modules.rexify.org modules and git modules - Jan
  • Fix summary test tasks for Windows - Ferenc Erki
  • Add support for ip6tables (close #795) - Dmitry Kopytov
  • Prefer uid over getlogin as fallback username (close #793, fix #792) - Ferenc Erki
  • Sort failure list - Ferenc Erki
  • Further simplify summary output - Ferenc Erki
  • Refactor summary output - Ferenc Erki
  • Use error level output in the summary if some tasks failed - Ferenc Erki
  • added AWS::Signature4 directly to code, due to problems with Centos5 dependencies (#737) - Jan
  • ignore eclipse files - Jan
  • fixed call of task as functions with normal parameters, #827 - Jan
  • allow config (set) vars in cmdb templates - Jan
  • Fix template handling in YAML CMDB files - Ferenc Erki
  • YAML cmdb can now contain template code - Jan
  • don't concat caller package anymore - Jan
  • fixed some unitialized warnings - Jan
  • fixed lookup path for arp command - Jan
  • report all packages - Jan
  • allow nested resources in reports - Jan
  • use md5 binary if perl module is not available - fix for #834 - Jan
  • default to empty task list - Jan
  • don't print summary on rex -T - Jan
  • use can_run to detect arp command - Jan Gehring
  • Custom storage path for kvm - Prajithp
  • give server configuration precedence - Jan
  • detect iptables version and choose syntax for ip adresses - Jan
  • fixed a logic bug, that prevents batch creation - Jan
  • fixed a bug that was introduced by b0416b1710611b900284ba5a2d9d74991fc4351b - Jan
  • Ensuring that labels can be added to swap partitions - Peter H. Ezetta
  • Ensure proper test-time connection type (fix #821) - Ferenc Erki
  • Fix examples - Ferenc Erki
  • Slightly reword synopsis - Ferenc Erki
  • Updated pod in bin/rex and lib/Rex.pm - Eric Johnson
  • Fix static side comments - Ferenc Erki
  • Use static comments to avoid alignment change later - Ferenc Erki
  • Checking for a running rex process failed if the pidfile contains a pid that partially matches a running process. - petersonchen
  • Updated documentation in bin/rex (pod/man page) - Eric Johnson
  • fixed loading of Rex::Commands via require. RexOps/Rex#789 - Jan Gehring
  • Recognize Raspbian as a Debian clone - Ferenc Erki
  • Mute noisy tests - Ferenc Erki
  • Added option for rebase during pull. - Eivin Giske Skaaren
  • added feature flag for 1.4 and removed deprecated warning of Rex::RunList - Jan
  • Added a firewall module to manage different firewall models with one interface. - Jan
  • resource and task now have own namespace for template variables - Jan
  • Exit codes need to be bit shifted by 8. Do it in one place. - Eric Johnson
  • Summary tests for all permutations of Parallel::ForkManager, Base, and exec_autodie - Eric Johnson
  • Summarize success/failure at the end of a run - Eric Johnson
  • added ParamLookup and registering task parameter as template variables. - Jan
  • Suppress STDERR during crontab listings - Ferenc Erki
  • Fix managing a user's own crontab via cron_entry - Ferenc Erki
  • Add _whoami to determine remote effective username - Ferenc Erki
  • Add docs on glob usage with file command (close #712, fix #738) - Jose Luis Perez Diez
  • Map Debian clones correctly - Ferenc Erki
  • Recognize LinuxMint as a Debian clone (close #506) - Ferenc Erki
  • Fix GetRex link url - hiroraba
  • Avoid unnecessary package rebuilds on Gentoo (close #809) - Patrick Lauer
  • Don't parse @ARGV on import. - Eric Johnson
  • Refactor child/parent pid logic + comments to be more readable - Eric Johnson
  • Avoid race condition when doing IPC. - Eric Johnson
  • Test for race condition problem in Rex::Shared::Var. - Eric Johnson
  • Refactoring LVM.pm to use mkfs(); - Peter H. Ezetta
  • refactor Partition.pm, fix $lv_name in Mkfs.pm - Peter H. Ezetta
  • refactoring swap logic into mkfs logic, silly to separate. - Peter H. Ezetta
  • code cleanup and addition of POD - Peter H. Ezetta
  • error checking on $lvname - Peter H. Ezetta
  • setting up logic for lvm vs raw disk - Peter H. Ezetta
  • starting to add option parsing - Peter H. Ezetta
  • start of refactor mkfs/mkswap into their own pm - Peter H. Ezetta
  • Fix undef warnings if calling get() without param - Andy Beverley
  • lower exitecode to less than 255 because some os have problems with larger ones - Jan
  • Fatal exceptions if git switching fail - alex1line
  • fix for Net::OpenSSH can't set initialize_options for the constructor - #796 - Jan Gehring
  • fixes the problem of run_task connecting to the wrong host #788 - Jan Gehring

New in Rex 1.3.3 (Aug 28, 2015)

  • Use binmode as a function - Jan
  • Use raw Rex::Interface::Exec to call can_run - Jan
  • Remove md5sum usage - Ferenc Erki
  • Fix for filenames with at sign in them - Ferenc Erki
  • Add test case for filenames with at sign - Ferenc Erki
  • Add initial MD5 test - Ferenc Erki
  • Fix check for environment-specific filenames - Ferenc Erki
  • Use OS-agnostic perl executable detection - Ferenc Erki
  • Fix RC version handling - Ferenc Erki
  • Refactor MD5 checksum calculation (fix #719) - Ferenc Erki
  • Add missing test names - Ferenc Erki
  • Only display diagnostic message if something went wrong - Ferenc Erki
  • Explicitly test for optional dependencies - Ferenc Erki
  • Fix LEFT_PRECEDENCE typo - Dmitry Kopytov

New in Rex 1.3.1 (Jun 8, 2015)

  • Cleanup db tests (fix #714) - Ferenc Erki
  • Update parallelism docs - Ferenc Erki

New in Rex 1.3.0 (Jun 8, 2015)

  • Fix regex pattern for perl-5.22.0 - Ferenc Erki
  • Filter changelogger output - Ferenc Erki
  • Cleanup group command POD - Ferenc Erki
  • Convert POD directives of methods and DSL functions (fix #685, close #705) - Brian Manning
  • pass cmdb() arguments to callback - fixed #709 - Jan
  • allow creation of inherited Rex::Group::Entry::Server objects - fixed #708 - Jan
  • Reuse VM name as image filename when importing - Ferenc Erki
  • Recognize CloudLinux as Red Hat clone (close #699) - Dmitry Kopytov
  • Fix auth test when REX_USER env is present - Dmitry Kopytov
  • Remove unused CLI option - Ferenc Erki
  • More helpful/verbose help message (close #698) - Eric Johnson
  • Cleanup a file used during testing - Ferenc Erki
  • Cleanup tests with optional dependencies - Ferenc Erki
  • Use explicit test plans everywhere - Ferenc Erki
  • Cleanup test imports - Ferenc Erki
  • Remove tests doing nothing else than use_ok() - Ferenc Erki
  • Automatically use all modules during testing - Ferenc Erki
  • Remove redundant hostname evaluation tests - Ferenc Erki
  • Remove unused Data::Dumper from tests - Ferenc Erki
  • Add CMDB docs - Ferenc Erki
  • Don't run into an endless loop: fix for #692 - Jan Gehring
  • Iptables.pm: add long-form iptables examples to POD - Brian Manning
  • Iptables.pm: show error from iptables on non-zero exit status - Brian Manning
  • ignore backfiles from editors - Jan
  • Log STDERR on errors where auto_die is enabled - Dmitry Kopytov
  • Set parallelism automatically (fix #491) - Ferenc Erki
  • added template_ng tests - Jan
  • fixed a problem when one template object was used twice - Jan
  • new template engine for 1.3 - Jan
  • Fix checking of virsh command result upon VM creation - Ferenc Erki
  • Update clearpart command documentation - Ferenc Erki
  • Add bios_boot option to GPT initialization - Ferenc Erki
  • make report filename configurable. don't sleep in test - Jan
  • Check for CLI argument definedness (fix #668) - Ferenc Erki
  • this commit fixes #667. this bug was introduced with the fix for #629 - Jan
  • first detect if uname and md5sum can be run, then use it. fixed #665 - Jan
  • fix warning if local file is not given. fixed #647 - Jan
  • Include provided modules in META.yml - Ferenc Erki
  • added systemd support for debian. fixes #659 - Jan
  • this prevents the stderr output of perl to get send over the wire. fixes #658 - Jan

New in Rex 1.2.1 (May 5, 2015)

  • first detect if uname and md5sum can be run, then use it. fixed #665 - Jan

New in Rex 1.2.0 (May 4, 2015)

  • Set version to 9999.99.99 if version is not present (e.g. during development) - Jan
  • Fix Rexfile parsing (fix #629) - Jan
  • Refactor tasklist output (fix #631, #653) - Eric Johnson
  • Remove -w from shebang (fix #650) - Eric Johnson
  • Add tab completion (fix #636, #652) - Eric Johnson
  • Update modules listed in POD - Brian Manning
  • Add another Red Hat synonym for RHWS version 3 - Brian Manning
  • Fix file manipulation when using Net::OpenSSH and sudo (fix #640) - Jan
  • Check if requested environment is defined (fix #639) - Ferenc Erki
  • Use normal DSL for internal task - Ferenc Erki
  • Fix SCM documentation - Ferenc Erki
  • Sort server names naturally - Ferenc Erki
  • Sort tasklist output (fix #633) - Ferenc Erki
  • Add YAML CMDB merging support (fix #499) - Ferenc Erki
  • Add CMDB merge tests - Ferenc Erki
  • Update list of contributors - Ferenc Erki
  • Check number of elements returned by stat - Ferenc Erki
  • Rex::Commands::Fs::stat() should return a hash or throw an exception. - Mitch Broadhead
  • Allow single-character tasknames (fix #621) - Ferenc Erki
  • Fix reporting for umount - Ferenc Erki

New in Rex 1.1.0 (Apr 21, 2015)

  • Fix dependencies for openssh + pass_auth - Ferenc Erki
  • prevent faulty debug message - Jan
  • fixed merge_auth() method for #615 -Jan
  • Update task tests (fix #614) - Jan
  • Recognize usable SSH modules separately - Ferenc Erki
  • Describe platform-specific dependencies - Ferenc Erki
  • Only check for iDrac signature if there was an output - Ferenc Erki
  • added a prototype, this will prevent failures like RexOps/Rex#584 - references: RexOps/Rex#608 - Jan
  • we need to do an explicit return undef. if we only use 'return' and the return of is_file/is_dir is passed to an array, this will not appear in the array. reference: RexOps/Rex#608 - Jan
  • updated tests to use is() instead of ok(). reference: RexOps/Rex#608 - Jan
  • changed return code to undef if file/dir not found. fix for RexOps/Rex#608 - Jan
  • Add initial iDrac shell support - Ferenc Erki
  • Allow can_run method to accept command to do the check with - Jan
  • Check if a command can be run before its execution (fix #514) - Ferenc Erki
  • Refactor can_run - Ferenc Erki
  • Support can_run command on Windows - Ferenc Erki
  • Move can_run to Rex::Interface::Exec - Ferenc Erki
  • Add can_run tests - Ferenc Erki
  • Create target directory before extracting an archive (fix #600, close #604) - Arnold Bechtoldt
  • Update POD (close #598) - Ferenc Erki
  • added a Rex::Logger::masq() function that can masq sensitiv data for logging output. (fix for RexOps/Rex#554) - Jan
  • added code to make shells pluggable. - RexOps/Rex#602 - Jan
  • Avoid noisy test output - Ferenc Erki
  • added support to export resources to main namespace and added more events - Jan
  • added possibility to use auth(for => task) before a task is created - fixed #402 - Jan
  • Fix handling of symbolic links (fix #591, close #592) - Jan
  • this adds a new method to the server objects called group() - Jan
  • fixed setting of path environment variable - #583 - Jan
  • Add preferred type option for mount command (fix #469) - Ferenc Erki
  • Reword has_{dir,file} test outputs - Ferenc Erki
  • Add has_dir test - Ferenc Erki
  • Print explicit PASS or FAIL output upon finishing a test suite - Ferenc Erki
  • Fix has_stat test for non-existing UIDs and GIDs - Ferenc Erki
  • Allow has_stat test to handle directories (fix #582) - Ferenc Erki
  • Add diag method for Rex::Test::Base - Ferenc Erki
  • Ensure proper return values for is_{dir,file} functions (fix #584) - Ferenc Erki
  • Drop potentially dangerous --force-yes option (fix #559) - Ferenc Erki
  • Generate docs for Rex::Test (fix #483) - Ferenc Erki

New in Rex 1.0.0 (Apr 21, 2015)

  • Remove hardcoded connection type (fix #579) - Ferenc Erki
  • fixed systemd status query - Jan
  • test output of tmpdir gathering before working with it. - Jan
  • fixed removing some tmp files - Jan
  • fixed some warnings for netstat listing if reading an unknown transport layer - Jan
  • added no_autodie feature flag - Jan
  • fixed is_file() for files with spaces - Jan
  • Fix POD - Ferenc Erki
  • don't redirect stdout 2 times. freebsd don't like it - Jan
  • added tty feature flag and sorted the flags - Jan
  • added some defaults for kvm boxes (network) - Jan
  • fixed autodie bug for is_symlink function - Jan
  • added reconnect tries to Net::OpenSSH connections - Jan
  • Allow spaces in Augeas values - Andrew Beverley
  • Warn if Augeas command fails - Andrew Beverley
  • fixed a problem if a server group was empty - Jan
  • dist.ini: Add Twitter and IRC links to metaresources block - Brian Manning
  • Rex::Commands::MD5: Make Rex use the /sbin/md5 binary on OS X - Brian Manning
  • Rex::Commands::User: fix typo in POD (user_group -> user_groups) - Brian Manning
  • Rex::Helper:Run->i_run: check no_path_cleanup before calling get_path - Brian Manning
  • stop 'profile' before returning from a subroutine. - Andrej Zverev
  • Speed up connecting to Boxes - Ferenc Erki
  • allow call of run() command with arrayRef - Jan
  • fixed sync_up/sync_down with Text::Glob - Jan
  • fixed authentication, failing if try password auth without mentioning pass_auth directly - Jan
  • fixed line endings with openssh and pty - Jan
  • Added possibility to use group() also as a resource function - Jan
  • added possibility to define task parameters multiple times from cli. - #516 - Jan
  • fixed windows tests - #514 - Jan
  • fixed #555 - default for Net::OpenSSH now also spawn a pty. Can be disabled with feature no_tty - Jan
  • Die if trying to run augeas without augtool installed (close #547) - Andrew Beverley
  • Skip db tests if there are missing dependencies (fix #548, close #549) - Volker Kroll (vkroll)
  • Restore perl-5.8.9 compatibility - Ferenc Erki
  • Add test for minimum perl version required - Ferenc Erki
  • Be more explicit about required perl version - Ferenc Erki
  • Stop append_or_amend_line inserting extra blank lines - Andrew Beverley
  • Add tests for append_or_amend_line - Andrew Beverley
  • fixed Rex::Box with Net::OpenSSH - Jan
  • rex/CLI.pm: update docs for Rex options - Brian Manning
  • CLI.pm: throw error if -T used with task arg, but no matching task found - Brian Manning
  • fixed #539 - detect primary network address - Jan
  • Add append_or_amend_line function to File command - Andrew Beverley
  • Drop Rex::Helper::Glob - Ferenc Erki
  • Suppress noisy test output - Ferenc Erki
  • Suppress warning about a variable being used only once - Ferenc Erki
  • Tidy up all the tests - Ferenc Erki
  • Use more helpful test functions - Ferenc Erki
  • use more appropriate functions from Test::More in tests - reneeb
  • some class inherit cleanup - Jan
  • Use correct path when using augeas insert - Andrew Beverley
  • Return correct output from augtool - Andrew Beverley
  • Fix false positive when using "augeas exists" - Andrew Beverley
  • Optimise Rex::Commands::Augeas - Andrew Beverley
  • Add user base class for those calls not supported in all OS - Andrew Beverley
  • Add password lock/unlock functions (Linux only) - Andrew Beverley
  • fixed resource end - Jan
  • Add PkgConf command to configure packages - Andrew Beverley
  • fixed set_openssh_opt() function to allow multiple options - Jan
  • fixed #527 - Rex::Output leaks semaphores and shared memory - Jan
  • improved continous_read option for Net::SSH2 connection mode - Jan
  • tail now also works with sudo also fixed #530 - Jan
  • use Net::OpenSSH is now default. don't need feature flag 0.55 - Jan
  • fixed line based operation with OpenSSH connection mode - Jan
  • migrated augeas module into Rex core - #532 - Jan
  • added partial sudo support for rsync command - Jan
  • fixed #529 - odd number of elements - Jan
  • fixed #528 -Amazon list_services, doesn't get all ec2 instances - thanks to David Golovan - Jan
  • fixed an issue that causes the parser to think the rexfile has an error - Jan
  • start of unit-test for Rex::Commands::DB - Volker Kroll (vkroll)
  • better fix for #521, don't print all servers by rex -T. Also fixed group authentication. - Jan
  • patch from twitter/@tekcurmudgeon to allow setting of gpgkey for a repository - Jan
  • fixed late group lookup - #521 - Jan
  • if the evaluation of the Rexfile was without syntax errors, but don't return a true value, try to evaluate it manually. so is is not needed to return a true value at the end. - fix for #513 - Jan
  • fixed path resolution for private_key and public_key when used a ~ (tilde) sign. #517 - Jan
  • fix rsync with port definition - #520 - Jan
  • added parse_templates option to sync_up function, so that template parsing can be prevented - #519 - Jan
  • Rex::FS::File accepts filenames now - reneeb
  • Add initial version of changelog generator - Ferenc Erki

New in Rex 0.57.0 (Apr 21, 2015)

  • allow definition of gpgkey for redhat/yum repositories - #522 - tekcurmudgeon
  • fixed Group defined after task definition - #521
  • fixed rsync will execute failed when use -H 127.0.0.1:2222 - #520
  • added new sync_up/down option for sync_up function will replace template variable of *.tpl - #519
  • fixed failed authentication when used ~ symbol - #517
  • fixed before_task_start() fails with an ambiguous error when your Rexfile does not return a true value - #513

New in Rex 0.56.1 (Jan 7, 2015)

  • tasks doesn't return a value when called as a sub (#523)

New in Rex 0.55.3 (Dec 27, 2014)

  • Bug fixes:
  • Don't return leading ./ on pathes - Ferenc Erki
  • Make helper_path tests OS-agnostic - Ferenc Erki
  • Convert ok() tests to is() - Ferenc Erki
  • Remove unnecessary variable assignment - Ferenc Erki
  • Update installation instructions - Ferenc Erki
  • Use ChangeLog file in tests - Ferenc Erki
  • Fix typo - Ferenc Erki
  • status call for services with upstart and systemd may not work properly - #460 - Jan
  • sudo with -e cli flag doesn't work - #461 - Jan
  • Cannot pass an argument with the value zero to a task - #463 - Jan
  • Issue tracker not in META.yml - #464 - Ferenc Erki
  • Allow specifying which tests to run as a parameter for Test:run #462 - Ferenc Erki
  • vm names in quote. so they can contain spaces - Jan
  • fallback to arp query if no answer from rex-kvm-agent - #454 - Jan
  • Print out error messages during Test:run (fix #450) - Ferenc Erki
  • Clarify error message during image download - Ferenc Erki
  • Remove explicit setting of VERSION - Ferenc Erki
  • return 0 if no swap given - #452 - Jan
  • fixed windows crashing on multiple connects - #448 - Jan
  • Work when swap in not enabled and values are undefined. FreeBSD only for now. - Graham Todd
  • possibility to modify Net::OpenSSH constructor - Jan
  • Revert use Rex::Group (#447) - Ferenc Erki
  • added late-group lookup, if group is not defined yet. fixed #447 - Jan
  • Make PkgVersion happy - Ferenc Erki
  • Fix typo - Ferenc Erki
  • removed unlink - Jan
  • Added possibility to query rex-kvm-agent. fixed #436 - Jan
  • dont throw error with multiple test files - Robert Abraham
  • Add ROSA systems support - Denis Silakov
  • fixed get_installed and is_installed functions Rex::Pkg::Gentoo - Robert Abraham
  • create binary installers from Rexfiles - Jan
  • Correct ChangeLog - Ferenc Erki
  • use Net::OpenSSH as default when available - #435 - Jan
  • removed executable bit - Jan
  • Added possibility to pack rex with PAR - Jan

New in Rex 0.54.3 (Oct 6, 2014)

  • added possibility to clone an jiffybox image - #439 - Peter Manthey
  • only execute testfiles which end on .t - #434 - Robert Abraham
  • close last used ssh connection after test - #433 - Robert Abraham
  • Add error message when attempting to run a non-existing task - FErki
  • Check if file exists before checking contents - fix #432 - FErki
  • refactored the behaviour of set() function to do what it is saying. So with feature 0.54 enabled set is always overwriting the existing values. (#425)
  • Add service_exists for Gentoo - FErki
  • fixing nested sudo operations. - #423
  • added check if service exists - #407
  • Handle hostgroup members with leading numeric ranges - FErki
  • redirect nohup output to /dev/null
  • fixed return value for flavors function - #406 - exzz
  • make apt-listchanges non-interactive - #417 - aowi
  • added path_map function - Erik Huelsmann
  • don't try to run dmidecode if it is not in PATH - Andrej Zverev
  • enhanced support for pkgng (FreeBSD) - Andrej Zverev
  • fixed Rex::Commands::MD5::md5() to obey path settings
  • Add documentation for run() function. - #440 - Erik Huelsmann

New in Rex 0.54.0 (Oct 2, 2014)

  • added possibility to clone an jiffybox image - #439 - Peter Manthey
  • only execute testfiles which end on .t - #434 - Robert Abraham
  • close last used ssh connection after test - #433 - Robert Abraham
  • Add error message when attempting to run a non-existing task - FErki
  • Check if file exists before checking contents - fix #432 - FErki
  • refactored the behaviour of set() function to do what it is saying. So with feature 0.54 enabled set is always overwriting the existing values. (#425)
  • Add service_exists for Gentoo - FErki
  • fixing nested sudo operations. - #423
  • added check if service exists - #407
  • Handle hostgroup members with leading numeric ranges - FErki
  • redirect nohup output to /dev/null
  • fixed return value for flavors function - #406 - exzz
  • make apt-listchanges non-interactive - #417 - aowi
  • added path_map function - Erik Huelsmann
  • don't try to run dmidecode if it is not in PATH - Andrej Zverev
  • enhanced support for pkgng (FreeBSD) - Andrej Zverev
  • fixed Rex::Commands::MD5::md5() to obey path settings

New in Rex 0.53.1 (Sep 15, 2014)

  • added Rex::JobControl functions
  • fixed hanging VBox with CentOS 7 and delayed dhcp ip lease
  • fixed on_change hook for file() resource when file was removed
  • added cmdb variables to template with feature flag - #420
  • export Rex::Config variables to all template variants - #419
  • fixed chkconfig bug for Mageia, Redhat and SuSE - chenryn
  • added resource() function, to define own resources.

New in Rex 0.52.0 (Sep 5, 2014)

  • Fixed #381 - file NAME, ensure => 'absent' for a directory
  • Fixed #392 - run conditional options with exec_autodie
  • Fdded on_change hook for update_system function. fixed #401
  • Added support for end_if_matched option to run command
  • Rex::Output to persist across different processes (forks)
  • Add floating ip support for openstack provider - #398
  • Auto upload ssh key to openstack cloud provider
  • Implement feature to tie server.ini to specified -E environment (server.$environment.ini).
  • #409 - added before_task_start and after_task_finished hooks
  • [#408] - define fallback authentication
  • [#416] - fixed pkg with ensure => 'ver.si.on'

New in Rex 0.51.1 (Jul 31, 2014)

  • Added "." in the allowed char of lvm create #393 - samuelet
  • possibility to call tasks as a method (prettier dsl)
  • load cmdb by default
  • load ini group module by default, if server.ini exists

New in Rex 0.50.0 (Jul 21, 2014)

  • Use stat() output for directory and file tests (fix #391) - FErki
  • added Paralell::ForkManager as optional component - #295
  • fixed Problem with failed conditionals in Rex::Command::Run - #389
  • activate exit_status feature by default for non parallel task execution
  • added proxy_command support - fixed #380

New in Rex 0.49.0 (Jul 14, 2014)

  • Added FreeBSD 10 Support for pkgng

New in Rex 0.48.0 (Jul 14, 2014)

  • Added CentOS 7 support

New in Rex 0.47.0 (Jul 7, 2014)

  • Rex::Test now also working with KVM - FErki
  • Update default VNC listen address for KVM machines - FErki
  • added pkgng commands for FreeBSD 10
  • A module which allows to read configuration files from an XML file. - nathanIL
  • Fixed a problem with auth_type try for rsync
  • Fixed using -G cli switch with a non existing group it will run localy #379
  • added Darwin (MacOSX) network module
  • documentation updates - FErki
  • Ident task description when running -T - Nathan Abu
  • use https to communicate with amazon
  • allow set callback and environment together #374 (run command) - alex1line
  • added exclude option to sync commands - Cameron Daniel
  • General tasks before/after sub #353
  • shell_path variable is not checked for empty value before use #376 - Ilya Evseev
  • verbose_run feature flag #375
  • Syntax enhancement of "group" command #369 - Jens Berthold
  • extend service() function, so that it knows how to get a status for a service if the init script doesn't have a status call
  • Avoid warning if there's nothing to upgrade (update_system) - FErki
  • Possible precedence issue with control flow operator with perl-5.20.0 - FErki
  • added Rex::Constants library
  • don't use shadow file if not present - user module
  • detect amazon system and use redhat classes
  • fixed inline templates for modules

New in Rex 0.46.0 (May 9, 2014)

  • Rex::Box, added kvm support - #174
  • core: allow passing template content to template command - #345 - reneeb
  • core/report: refactored report generation. This change break backward compat. because the report format changed.
  • core: added groups_dbi() function to generate server groups from sql - #346 - Jean-Marie RENOUARD
  • core: added groups_yaml() function to generate server groups from yaml file - Jean-Marie RENOUARD
  • core: add support for df on a given mount point - Simon Bertrang
  • cloud/amazon: fixed a case where amazon returns instance item in an array - Kasim Tuman
  • core: added authentication to download() function. - #340
  • core: refactored tmp dir generation - FErki
  • cloud: added cloud_volume detach/attach function
  • cloud/amazon: fixed multiple tags - David Golovan
  • core: added description to environments - #274
  • refactored README.pod to README.md, added build badge - eduardoj
  • core: extended rexify command to work with git
  • core/test: Added Rex::Test - Framework to run tests
  • core: Connect failure reports "Error running task/batch: Wrong username/password or wrong key" - #359 - eduardoj
  • core/cmdb: path can now have variables / can be extended
  • core/user: refactored handling of home directory creation. This might break compat. because we are following the system default now. (added create_home option) - #270 - FErki
  • core: added a special load path for perl libraries, so that we don't mix up perl and rex modules.
  • core/service: using nohup to work around a bug in Net::SSH2/libssh2
  • core: the caching is now enabled by default. this might break backward compat. if you are using chroot() to another system inside a task.
  • core: added 'no_cache' feature.

New in Rex 0.45.2 (Apr 15, 2014)

  • fixed special mkdir() case on local windows runs.

New in Rex 0.44.6 (Mar 21, 2014)

  • fixed wrong expansion of home paths #324
  • fixed return code on failed connects is wrong #317
  • get as much output from ps(1) as possible #323 - sbertrang

New in Rex 0.44.5 (Mar 21, 2014)

  • fixed shell gathering

New in Rex 0.44.4 (Mar 21, 2014)

  • fixed manifest file

New in Rex 0.44.3 (Feb 17, 2014)

  • do not call sprintf on undefined values to prevent warnings - #312 - sbertrang
  • add ksh to shells - #310 - sbertrang
  • only pass actual option strings to prevent ssh crashes - #309 - sbertrang
  • rexify does not create projects due to missing file error - #318
  • sed command changes mode of target file - #314

New in Rex 0.44.2 (Feb 10, 2014)

  • fixed sudo_without_sh - #305
  • added warning if no perl interpreter was found on the remote system - #302

New in Rex 0.44.1 (Feb 10, 2014)

  • fixed detection of openSUSE with lsb-release installed - #297
  • use Makefile.PL for tests. fixed #300
  • Support for DBI \%attr hashref - #296 - stefb69
  • Make quiet mode not mute warnings and errors. - #294 - slashbeast
  • new cli parameter -qw for quiet with warnings - #294

New in Rex 0.44.0 (Jan 27, 2014)

  • docker support (experimental) - #278 - chenryn
  • format the output of say() - #155
  • userdefined columns for ps() command - #175 - dirkcjelli
  • using tilde (~) sign for directories - #198 - gnouc, krimdomu
  • SCM::Git, now uses cwd option of run() command, so it works also remote. - #211 - atrodo
  • Box default pkg update - #217 - endyman
  • run_batch() command to run batches on demand - #222 - jorisd
  • Allow "sed" function to work on multiple lines. - #227 - davidolrik, krimdomu
  • Added bulk_install() method for packages installing - #229 - jorisd
  • Enable bulk_install for Gentoo and OpenWrt - #231 - ferki
  • Added some hooks at central points in rex, so that it is possible to control the behaviour of rex in some points.
  • added on_change hook for sync_up/sync_down - #232
  • Rex::Group::Lookup::Command - read hostnames from a command. - #233 - fanyeren
  • Improve user and group management on OpenWrt - #242 - ferki
  • Add kernel module (un)loading support for OpenWrt - #243 - ferki
  • Add service status support for OpenWrt - #246 - ferki
  • make ssh read buffer configurable (for Net::SSH2 connections) - #247 this will speedup the connection, but may break on older systems!
  • Add systemd service provider support for Gentoo - #250 - ferki
  • Add systemd service provider support for Mageia - #282
  • feature flag to deactivate path cleanup - #261
  • feature flag to parse $HOME/.profile - #262
  • Cloud::Amazon Check to make sure it is HASH before key look up - #263 - oneness
  • autodie feature if run() fail - #265
  • added support for tcsh shell - #284
  • Fix guestinfo for Gentoo - #236 - ferki
  • get_host can't find aliases - #239, #240 - jorisd, ferki
  • rsync get wrong user if using "auth for $task" - #252
  • Flag existing feature sudo_without_sh as found - #253 - gittex
  • Cleaned-Up Data module dependence - #254
  • iptables arguments needs quote if they are whitespaced - #257 - jorisd
  • add Pod encoding marker - #259 - sergeyromanov
  • "needs" doesn't know how to call tasks from the main Rexfile - #260
  • gathering alias network interfaces like eth0:0 - #264
  • Cron: Jobs can be duplicated - #269 - jorisd
  • FreeBSD: store netmask in dotted decimal format - #287 - andrejzverev
  • Uninitialized value in OpenSSH.pm - #290 - samuelet

New in Rex 0.43.7 (Nov 8, 2013)

  • fixed problem with unconfigured network devices
  • fixed return of complete cmdb
  • fixed bug with the reporting initialization

New in Rex 0.43.3 (Sep 24, 2013)

  • fixed return of string '0' on stdout
  • fixed loading of report via env variable
  • fixed manifest

New in Rex 0.43.2 (Sep 19, 2013)

  • Silent yum operations