Release notes for 1.3.0
These are the changes in the 1.3.0 release.
We want to thank every contributor who made this release possible. We also welcome Dmitry Kopytov as new contributor.
During this release cycle we tried to focus more on smoothing out the rougher edges and improving the documentation and test suite. Several aspects of the documentation work are mainly happening in the background and not in the codebase itself for now. So there are no "real" new features this time, but because of the amount of changes, and especially because of enabling the new template engine by default, we felt a new major release was warranted.
New template engine enabled by default
The enhanced template engine,
has been available since 0.56.0
via the similarly named feature flag.
The main advantage of it
is the ability to provide actually useful error messages
when something goes wrong during template processing,
while the format itself remains backward compatible
with the previous template handling.
There are some examples of those error messages on the original issue.
- added template_ng tests - Jan
- fixed a problem when one template object was used twice - Jan
- new template engine for 1.3 - Jan
Automatic parallelism settings
It is now possible set parallelism of task execution more dynamically,
e.g. by setting it to
Rex detects the number of servers a task should be run on,
and automatically executes it on all of them in parallel.
Some other notation are recognized and supported as well,
check out the documentation.
- Set parallelism automatically (fix #491) - Ferenc Erki
The local test suite has been greatly simplified as part of an ongoing improvement works. Those changes made the test suite ~30% faster and easier to maintain.
- 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
A bunch of general improvements happened in this release cycle as well, most notably:
- systemd support for Debian (and its clones)
- configurable filenames for the reporting feature
- CloudLinux is recognized as a Red Hat clone
- creation of a BIOS boot partition is now optional when using GPT
- regular expression pattern fixes for perl-5.22.0 compatibility
- improved validation and error handling in several places
All those happened in the following commits:
- Fix regex pattern for perl-5.22.0 - Ferenc Erki
- 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
- Remove unused CLI option - Ferenc Erki
- 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
- Fix checking of virsh command result upon VM creation - 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
- Include provided modules in META.yml - Ferenc Erki
- added systemd support for debian. fixes #659 - Jan
We'd like to say thanks to Eric Johnson for an improved help screen and to Brian Manning for making it possible to list methods and DSL functions in the table of contents and linking to them directly within the page. We also added long-due documentation for the CMDB feature.
- 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
- More helpful/verbose help message (close #698) - Eric Johnson
- Add CMDB docs - Ferenc Erki
- Iptables.pm: add long-form iptables examples to POD - Brian Manning
- Update clearpart command documentation - Ferenc Erki
The following bugs/regressions were also fixed during this release cycle:
Uploading files from Windows to Linux
File upload from Windows machines was fixed
by checking the availability of
before trying to use them.
This fix has been released as rex-1.2.1 as well.
- first detect if uname and md5sum can be run, then use it. fixed #665 - Jan
do_task + before_task_start with modules
Fixed an issue when a task was specified in a module
and had a
before_task_start hook attached to it,
then called with
do_task from a different module.
- this commit fixes #667. this bug was introduced with the fix for #629 - Jan
This release also has some general fixes,
most notably around
(like avoiding an endless loop when used together with
or suppressing warnings about missing locales).
- fixed the fix :-) the original fix was in the wrong subroutine - #692 - Jan
- Don't run into an endless loop: fix for #692 - Jan Gehring
- Fix auth test when REX_USER env is present - Dmitry Kopytov
- this prevents the stderr output of perl to get send over the wire. fixes #658 - Jan
- fix warning if local file is not given. fixed #647 - Jan