» Home » Docs » Release notes » Release notes for 1.2.0
Release notes for 1.2.0
These are the changes in the 1.2.0 release.
We want to thank every contributor who made this release possible. We also welcome Eric Johnson and Mitch Broadhead as new contributors.
New features
CMDB merge
Now it is possible to merge CMDB data from different levels of the CMDB hierarchy by choosing various merge strategies. Default strategy is to use the previous behaviour, e.g. first match wins. This feature makes use of Hash::Merge, so it is possible to specify any merge strategy that is supported by that module. For example:
- Use a built-in Hash::Merge strategy
set cmdb {
type => 'YAML',
path => 'cmdb',
merge_behavior => 'LEFT_PRECEDENT',
};
- Use a custom merge strategy
set cmdb {
type => 'YAML',
path => 'cmdb',
merge_behavior => {
SCALAR => {...},
ARRAY => {...},
HASH => {...}
},
};
- Add YAML CMDB merging support (fix #499) - Ferenc Erki
- Add CMDB merge tests - Ferenc Erki
Bash tab completion
Following up on the tab completion script posted by Samuele Tognini over at the Rex Users Google group, Eric Johnson took the idea one step forward. As a result of their much appreciated work it is now part of the repo as misc/rex-tab-completion.bash
.
It supports host, group, environment and task completion.
- Add tab completion (fix #652) - Eric Johnson
Enhancements
Task list
Thanks to the ideas and work of Eric Johnson, the task list output of Rex became easier to read. Changes include sorting of all sections, smarter indention, empty lines between namespaces, plus top-level tasks (the ones in the Rexfile) gets listed before tasks in modules. On top of those, passing a (partial) task name to rex -T
will try to match that string on the beginning of defined task names and will only list the matching ones.
- Refactor tasklist output (fix #631, #653) - Eric Johnson
- Sort server names naturally - Ferenc Erki
- Sort tasklist output (fix #633) - Ferenc Erki
General
Rex now allows single-character names for tasks, behaves more correctly when facing stat
errors, and recognizes more Red Hat variants. It also become more friendly to hack on by avoiding to throw errors and warnings when used directly from a clone of the git repository.
- Set version to 9999.99.99 if version is not present (e.g. during development) - Jan
- Remove -w from shebang (fix #650) - Eric Johnson
- Add another Red Hat synonym for RHWS version 3 - Brian Manning
- Check if requested environment is defined (fix #639) - Ferenc Erki
- Use normal DSL for internal task - 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
Documentation
- Update modules listed in POD - Brian Manning
- Fix SCM documentation - Ferenc Erki
- Update list of contributors - Ferenc Erki
Bugfixes
The following bugs/regressions were also fixed during this release cycle:
- Fix Rexfile parsing (fix #629) - Jan
- Fix file manipulation when using Net::OpenSSH and sudo (fix #640) - Jan
- Fix reporting for umount - Ferenc Erki