sshkit v0.1.0 Release Notes

Release Date: 2018-09-18 // about 3 years ago
  • https://github.com/bitcrowd/sshkit.ex/compare/v0.0.3...v0.1.0

    • ๐Ÿ‘ Require Elixir 1.5+ and drop support for lower versions.
    • ๐Ÿ›  Fix Elixir 1.5 String deprecations.
    • โšก๏ธ Update installation instructions.
    • โœ… Introduce Mox for mocking in unit tests.
    • ๐Ÿ‘Œ Improve and add unit tests.

    Thanks for your contributions:

    • @Bugagazavr
    • @brienw
    • @holetse

    Potentially breaking changes:

    • โœ‚ Remove :dry_run option: Depending on how you're using SSHKit, "dry-run" could have a number of different meanings
      • you may want to actually connect to the remote without changing anything or you may not want to establish a connection at all
      • some steps in the flow you're dry-running may depend on things like directories created in a previous step which won't be there
      • all in all, a "dry-run" feature is likely better handled at an application level which may know the dependencies between commands
    • Set -H option for sudo in order to get the expected value for HOME
    • ๐Ÿ— Export context environment variables directly before the supplied command in SSHKit.Context.build/2
      • this could potentially result in different behavior for code that sets environment variables consumed by the other commands in the context
      • those cases should be rare though and the new behavior seems closer to what most would expect when using contexts

    ๐Ÿ†• New features:

    • Split the SCP file upload into a setup and an execution step:
      • add SCP.Upload.new/3 and SCP.Upload.exec/2
      • SCP.Upload.transfer/4 still works as before
    • โž• Added support for ptty allocation in SSH.Channel module [#129]

    ๐Ÿ›  Fixes:

    • ๐Ÿ›  Fix error handling in SSHKit.SSH.Channel.send/4 when sending stream data
    • Context properly handles the case where env is set to an empty map
    • ๐Ÿ›  Fix environment variables export in contexts with user, group, umask, path and env