(R)?ex Deployment & Configuration Management


Deprecating official Rex packages

As part of our efforts to simplify maintenance around RexOps projects, we have decided to stop building Rex packages on our side. We recommend relying on OS packages maintained by the various distributions in their respective upstream repositories, or to install Rex from CPAN.

Post-migration updates & clean-up

Over the course of the past weeks many clean-ups have been done, reaping the benefits provided by our new Statocles-based site:

New site engine for rexify.org

After months of work on a new site backend, we reached the MVP today for our site to be switched over to a new engine: from now on, our site will be maintained using the static site generator Statocles.



Need Help?

Rex is a pure open source project, you can find community support in the following places:

Professional support is also available.

» Home » Docs » Release notes » Release notes for 1.1.0

Release notes for 1.1.0

These are the changes in the 1.1.0 release.

We want to thank every contributor who made this release possible. We also welcome Alex Mestiashvili and Arnold Bechtoldt as new contributors.

New features

Pluggable shell detection

The shell detection code has been refactored, so it is easier to extend the list of shells which are recognized and supported by Rex. This also made initial iDrac-over-SSH support possible, and opened up the way for further exotic shells to be included later.

Hiding sensitive data in debug output

Sensitive data is now being hidden in debug outputs making their sharing easier and safer. This behaviour can be overridden by setting REX_DEBUG_INSECURE environment variable to 1.

Delayed auth settings

It is now possible to set special authentication options with auth for after the related task or group definition.

Get server group membership

Group membership information for servers are now exposed and can be retrieve directly from the server object with the groups method. It also has an alias called group, but it always returns the list of groups a server is member of:

my @groups = connection->server->groups;


Rex tests are now printing an explicit FAIL or PASS message to indicate overall test results. A new has_dir test (similar to has_file) is supported now for easier directory existence checks. A diag method is also available from now on to be used with new test implementations.



Rex-1.1.0 contains quite a few general enhancements as well.

Probably the most important of them is that Rex's dependencies are platform-specific now. On Windows it will depend on Net::SSH2 module, while on any other platform on the combination of Net::OpenSSH and Net::SFTP::Foreign. This latter pair of modules were already the preferred ones by default if they were available, but from now each platform will only need their own preferred dependencies to be installed.

The can_run method has been refactored to support Windows platforms by accepting an optional command to use when checking command availability. This also fixes some test failures on Windows.

Other than the above, there are some minor but very useful changes increasing security and convenience, like creating the target directory before extracting an archive to it, using the correct terms for mount command options, or dropping the --force-yes option when installing packages on Debian and its derivatives.


Both POD quality and quantity has been improved by syntax fixes, content updates and generating documentation for new modules to be published here on the website.


It is now easier to work with resources in modules as they can be exported to the main namespace, and they also support more events (created, removed, message).


The has_stat test can now handle directories, not just files.


The following bugs/regressions were also fixed during this release cycle:

Google Group / Twitter / GitHub / Mailinglist / irc.freenode.net #rex   -.ô.-   Disclaimer