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/3
andSSHKit.upload/3
functions 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_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 forsudo
in 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/3
andSCP.Upload.exec/2
SCP.Upload.transfer/4
still works as before
- add
- Added support for ptty allocation in
SSH.Channel
module [#129]
- 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
https://github.com/bitcrowd/sshkit.ex/compare/v0.0.2...v0.0.3
- Added support for uploading/downloading files via the
SSHKIT
main 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_run
flag 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.pwd
toSSHKit.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.env
from working [#35]
https://github.com/bitcrowd/sshkit.ex/releases/tag/v0.0.1
Basic support of / wrapping around erlang :ssh.