(R)?ex the friendly automation framework

News

2023-08-05
Rex-1.14.3

Rex-1.14.3 is now available on CPAN. It contains bug fixes for local package installation, command existence checks, and Git tests.

2023-05-05
Rex-1.14.2

The Rex-1.14.2 release is now available on CPAN. It contains bug fixes for running local commands on Windows, cloning git repositories, and test suite fixes for the upcoming perl-5.38.0 release.

2023-03-17
Call for papers TPRC 2023

Dean Hamstead from the The Perl and Raku Foundation Marketing Committee has sent an invitation to present about Rex at TPRC 2023. I’m posting it here to increase visibility.

2023-03-05
Rex-1.14.1

The Rex-1.14.1 release is now available on CPAN. It contains bug fixes and documentation updates.

2023-02-05
Rex-1.14.0

The Rex-1.14.0 release is now available on CPAN. It contains improved Rexfile loading, documentation updates, and bumps the minimum required Perl version to 5.12.5.

Events

2021-03-08
Learning automation using Rex

Ferenc Erki (FErki) will be the guest of Gábor Szabó on the next Code Maven live stream to learn about automation using Rex. Register for the free event via Code Maven or Meetup, and join the discussion!

2020-03-05
Unexpected use cases with Rex

Unexpected use cases with Rex at the 22nd German Perl/Raku Workshop 2020 in Erlangen by Ferenc Erki (FErki).

2019-11-09
Rex & Friends

Rex & Friends talk at the Barcelona Perl & Friends 2019 by Ferenc Erki (FErki).

» 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::Test

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.

Enhancements

General

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.

Documentation

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.

Resources

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

Rex::Test

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

Bugfixes

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

Proudly powered by Perl and built with Statocles

GitHub repository and discussions / Chat on Matrix and IRC / Mailing list on Google Groups (retired: rex-users@freelists)

MetaCPAN / Twitter / StackShare / Server Fault   -.ô.-   Disclaimer