Release 0.2.0

This release mainly revolves around Runaway. Several features that were asked for were brought in:

  • Ctrl-C handling: Now, if you Ctrl-C during an allocation, the allocation will be revoked before closing runaway.
  • Interactive output: Now, when running a remote command with runaway, the outputs (stderr and stdout) will be printed in the terminal as they appear on the remote end. That matches more with what users are used to when working with ssh.
  • Shell completion: The completion for runaway was added. It can be generated by running runaway install-completion. Only bash and zsh are supported for now. The zsh completion even allows to complete the profiles names.
  • Leave tars option: In order to debug .*ignore files transfer optimization, you can use the --leave-tars option which will leave the transfer files on the local end. This will allow to debug the size and content of the send and fetch transfers.
  • Config indent: A lot of editors transform tabs into spaces, which killed the profiles. Now the config parser accepts any kind of combinations of whitespaces and tabs as indentation for clauses.
  • Automatic fetchignore: Now when one wants to optimize the transfers, it can either write a .sendignore and a .fetchignore on its own, or only write the .sendignore and let runaway derive the .fetchignore. Importantly, all the results files must be included (ignored) in the .sendignore in this scenario, for the automatic generation to work well.

A few bug fixes and changes:

  • Now the default option is to remove every data on the remote end after execution. This allows to avoid the clutter on the remote end if the user does not take care about it himself.
  • A bug in the ssh exec command was addressed. An overflow of the receive window occurred on call to flush() in asynchronous exec. When executing a large number of concurrent execs on the same remote, this caused several commands to observe a Transport Read error. This was fixed.
  • The number of threads used to drive the futures is now set to the number of threads on the computer, rather than 1.