Presented in reverse chronological order.
https://github.com/bitcrowd/sshkit.ex/compare/v0.2.0...HEAD
- Add support to enable the shell on the server end using
SSH.Channel.shell.
https://github.com/bitcrowd/sshkit.ex/compare/v0.2.0...v0.3.0
This version adds SSH subsystem support.
Shout-out to @bartj3 🙌
- Add support for initializing subsystems using
SSH.Channel.subsystem- Subsystems allow applications or functions to use SSH as a protocol. Examples of this are SFTP and NETCONF over SSH.
https://github.com/bitcrowd/sshkit.ex/compare/v0.1.0...v0.2.0
- The
SSHKit.download/3andSSHKit.upload/3functions are now fully context-aware [#121] - They will respect the
user,env,path… values set in the context
- Improve documentation about our release process
- Fix an Elixir 1.8 deprecation warning (#147)
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
- Remove
:dry_runoption: 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
-Hoption forsudoin order to get the expected value forHOME - 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
- Split the SCP file upload into a setup and an execution step:
- add
SCP.Upload.new/3andSCP.Upload.exec/2 SCP.Upload.transfer/4still works as before
- add
- Added support for ptty allocation in
SSH.Channelmodule [#129]
- Fix error handling in
SSHKit.SSH.Channel.send/4when 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
https://github.com/bitcrowd/sshkit.ex/compare/v0.0.2...v0.0.3
- Added support for uploading/downloading files via the
SSHKITmain DSL [#32] - Added support for options that are shared between hosts [#61]
- Improved documentation [#67]
- Added support for passing an anonymous function to
SSH.connect[#72] - Add support for passing a
dry_runflag toSSHKit.SSH.connect[#79]
- Properly return
{:error, "No host given."}when trying to connect to a host which isnil[#70] - Improved unit and integration tests [#59] [#75] [#77]
https://github.com/bitcrowd/sshkit.ex/compare/v0.0.1...v0.0.2
- Renamed response from remotely executed commands from 'normal' to 'stdout' [#34]
- Renamed
SSHKit.pwdtoSSHKit.path[#33] Thanks @brienw for the idea
- Support basic SCP up-/downloads
- Added documentation https://hexdocs.pm/sshkit/SSHKit.html
- Accept binaries (not only charlists) for configuration. Thanks @svoynow
- Fixed a bug that prevented
SSHKit.envfrom working [#35]
https://github.com/bitcrowd/sshkit.ex/releases/tag/v0.0.1
Basic support of / wrapping around erlang :ssh.