Hello community,

here is the log from the commit of package rubygem-sshkit for openSUSE:Factory 
checked in at 2020-05-11 13:40:00
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/rubygem-sshkit (Old)
 and      /work/SRC/openSUSE:Factory/.rubygem-sshkit.new.2738 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "rubygem-sshkit"

Mon May 11 13:40:00 2020 rev:28 rq:802379 version:1.21.0

Changes:
--------
--- /work/SRC/openSUSE:Factory/rubygem-sshkit/rubygem-sshkit.changes    
2020-03-07 21:40:20.856357593 +0100
+++ /work/SRC/openSUSE:Factory/.rubygem-sshkit.new.2738/rubygem-sshkit.changes  
2020-05-11 13:40:03.580954813 +0200
@@ -1,0 +2,6 @@
+Thu May  7 21:33:56 UTC 2020 - Stephan Kulow <[email protected]>
+
+- updated to version 1.21.0
+ see installed CHANGELOG.md
+
+-------------------------------------------------------------------

Old:
----
  sshkit-1.20.0.gem

New:
----
  sshkit-1.21.0.gem

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ rubygem-sshkit.spec ++++++
--- /var/tmp/diff_new_pack.rE4Z32/_old  2020-05-11 13:40:05.112958025 +0200
+++ /var/tmp/diff_new_pack.rE4Z32/_new  2020-05-11 13:40:05.112958025 +0200
@@ -24,7 +24,7 @@
 #
 
 Name:           rubygem-sshkit
-Version:        1.20.0
+Version:        1.21.0
 Release:        0
 %define mod_name sshkit
 %define mod_full_name %{mod_name}-%{version}

++++++ sshkit-1.20.0.gem -> sshkit-1.21.0.gem ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/.github/release-drafter.yml 
new/.github/release-drafter.yml
--- old/.github/release-drafter.yml     1970-01-01 01:00:00.000000000 +0100
+++ new/.github/release-drafter.yml     2020-03-05 03:02:26.000000000 +0100
@@ -0,0 +1,17 @@
+name-template: "$NEXT_PATCH_VERSION"
+tag-template: "v$NEXT_PATCH_VERSION"
+categories:
+  - title: "⚠️ Breaking Changes"
+    label: "⚠️ Breaking"
+  - title: "✨ New Features"
+    label: "✨ Feature"
+  - title: "🐛 Bug Fixes"
+    label: "🐛 Bug Fix"
+  - title: "📚 Documentation"
+    label: "📚 Docs"
+  - title: "🏠 Housekeeping"
+    label: "🏠 Housekeeping"
+change-template: "- $TITLE (#$NUMBER) @$AUTHOR"
+no-changes-template: "- No changes"
+template: |
+  $CHANGES
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/.github/workflows/push.yml 
new/.github/workflows/push.yml
--- old/.github/workflows/push.yml      1970-01-01 01:00:00.000000000 +0100
+++ new/.github/workflows/push.yml      2020-03-05 03:02:26.000000000 +0100
@@ -0,0 +1,12 @@
+on: push
+name: Push
+jobs:
+  draftRelease:
+    name: Draft Release
+    runs-on: ubuntu-latest
+    steps:
+      - uses: actions/checkout@master
+      - name: Draft Release
+        uses: toolmantim/[email protected]
+        env:
+          GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/.rubocop.yml new/.rubocop.yml
--- old/.rubocop.yml    2019-08-04 01:08:28.000000000 +0200
+++ new/.rubocop.yml    2020-03-05 03:02:26.000000000 +0100
@@ -6,10 +6,10 @@
   TargetRubyVersion: 2.0
 
 Lint/AmbiguousBlockAssociation:
-  Enabled:
-    false
+  Enabled: false
 Metrics/BlockLength:
   Exclude:
+    - "sshkit.gemspec"
     - "spec/**/*"
     - "lib/**/*.rake"
 Style/BarePercentLiterals:
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/CHANGELOG.md new/CHANGELOG.md
--- old/CHANGELOG.md    2019-08-04 01:08:28.000000000 +0200
+++ new/CHANGELOG.md    2020-03-05 03:02:26.000000000 +0100
@@ -1,796 +1 @@
-## Changelog
-
-This file is written in reverse chronological order, newer releases will
-appear at the top.
-
-## [Unreleased][]
-
-  * Your contribution here!
-
-## [1.20.0][] (2019-08-03)
-
-  * [#468](https://github.com/capistrano/sshkit/pull/468): Make `upload!` take 
a `:verbosity` option like `exec` does - [@grosser](https://github.com/grosser)
-
-## [1.19.1][] (2019-07-02)
-
-  * [#465](https://github.com/capistrano/sshkit/pull/456): Fix a regression in 
1.19.0 that prevented `~` from being used in Capistrano paths, e.g. 
`:deploy_to`, etc. - [@grosser](https://github.com/grosser)
-
-## [1.19.0][] (2019-06-30)
-
-  * [#455](https://github.com/capistrano/sshkit/pull/455): Ensure UUID of 
commands are stable in logging - [@lazyatom](https://github.com/lazyatom)
-  * [#453](https://github.com/capistrano/sshkit/pull/453): `as` and `within` 
now properly escape their user/group/path arguments, and the command nested 
within an `as` block is now properly escaped before passing to `sh -c`. In the 
unlikely case that you were manually escaping commands passed to SSHKit as a 
workaround, you will no longer need to do this. See 
[#458](https://github.com/capistrano/sshkit/issues/458) for examples of what 
has been fixed. - [@grosser](https://github.com/grosser)
-  * [#460](https://github.com/capistrano/sshkit/pull/460): Handle IPv6 
addresses without port - [@will-in-wi](https://github.com/will-in-wi)
-
-## [1.18.2][] (2019-02-03)
-
-  * [#448](https://github.com/capistrano/sshkit/pull/448): Fix misbehaving 
connection eviction loop when disabling connection pooling - [Sebastian 
Cohnen](https://github.com/tisba)
-
-## [1.18.1][] (2019-01-26)
-
-  * [#447](https://github.com/capistrano/sshkit/pull/447): Fix broken thread 
safety by widening critical section - [Takumasa 
Ochi](https://github.com/aeroastro)
-
-## [1.18.0][] (2018-10-21)
-
-  * [#435](https://github.com/capistrano/sshkit/pull/435): Consistent 
verbosity configuration #capture and #test methods - 
[@NikolayRys](https://github.com/NikolayRys)
-
-## [1.17.0][] (2018-07-07)
-
-  * [#430](https://github.com/capistrano/sshkit/pull/430): [Feature] Command 
Argument STDOUT/capistrano.log Hiding - 
[@NorseGaud](https://github.com/NorseGaud)
-
-## [1.16.1][] (2018-05-20)
-
-  * [#425](https://github.com/capistrano/sshkit/pull/425): Command#group 
incorrectly escapes double quotes, resulting in a a syntax error when 
specifying the group execution using `as`. This issue manifested when user 
command quotes changed from double quotes to single quotes. This fix removes 
the double quote escaping - [@pblesi](https://github.com/pblesi).
-
-## [1.16.0][] (2018-02-03)
-
-  * [#417](https://github.com/capistrano/sshkit/pull/417): Cache key 
generation for connections becomes slow when `known_hosts` is a valid `net/ssh` 
options and `known_hosts` file is big. This changes the cache key generation 
and fixes performance issue - [@ElvinEfendi](https://github.com/ElvinEfendi).
-
-## [1.15.1][] (2017-11-18)
-
-This is a small bug-fix release that fixes problems with `upload!` and 
`download!` that were inadvertently introduced in 1.15.0.
-
-### Breaking changes
-
-  * None
-
-### Bug fixes
-
-  * [#410](https://github.com/capistrano/sshkit/pull/410): fix NoMethodError 
when using upload!/download! with Pathnames - 
[@UnderpantsGnome](https://github.com/UnderpantsGnome)
-  * [#411](https://github.com/capistrano/sshkit/pull/410): fix 
upload!/download! when using relative paths outside of `within` blocks -  
[@Fjan](https://github.com/Fjan)
-
-## [1.15.0][] (2017-11-03)
-
-### New features
-
-  * [#408](https://github.com/capistrano/sshkit/pull/408): upload! and 
download! now respect `within` - [@sj26](https://github.com/sj26)
-
-### Potentially breaking changes
-
-  * `upload!` and `download!` now support remote paths which are
-    relative to the `within` working directory. They were previously documented
-    as only supporting absolute paths, but relative paths still worked relative
-    to the remote working directory. If you rely on the previous behaviour you
-    may need to adjust your code.
-
-## [1.14.0][] (2017-06-30)
-
-### Breaking changes
-
-  * None
-
-### New features
-
-  * [#401](https://github.com/capistrano/sshkit/pull/401): Add :log_percent 
option to specify upload!/download! transfer log percentage - 
[@aubergene](https://github.com/aubergene)
-
-## [1.13.1][] (2017-03-31)
-
-### Breaking changes
-
-  * None
-
-### Bug fixes
-
-  * [#397](https://github.com/capistrano/sshkit/pull/397): Fix NoMethodError 
assign_defaults with net-ssh older than 4.0.0 - 
[@shirosaki](https://github.com/shirosaki)
-
-## [1.13.0][] (2017-03-24)
-
-### Breaking changes
-
-  * None
-
-### New features
-
-  * [#372](https://github.com/capistrano/sshkit/pull/372): Use cp_r in local 
backend with recursive option - 
[@okuramasafumi](https://github.com/okuramasafumi)
-
-### Bug fixes
-
-  * [#390](https://github.com/capistrano/sshkit/pull/390): Properly wrap Ruby 
StandardError w/ add'l context - 
[@mattbrictson](https://github.com/mattbrictson)
-  * [#392](https://github.com/capistrano/sshkit/pull/392): Fix open two 
connections with changed cache key - [@shirosaki](https://github.com/shirosaki)
-
-## [1.12.0][] (2017-02-10)
-
-### Breaking changes
-
-  * None
-
-### New features
-
-  * Add `SSHKit.config.default_runner_config` option that allows overriding 
default runner configs.
-
-## [1.11.5][] (2016-12-16)
-
-### Bug fixes
-
-  * Do not prefix `exec` command
-    [PR #378](https://github.com/capistrano/sshkit/pull/378) @dreyks
-
-## [1.11.4][] (2016-11-02)
-
-  * Use string interpolation for environment variables to avoid escaping issues
-    with sprintf
-    [PR #280](https://github.com/capistrano/sshkit/pull/280)
-    @Sinjo - Chris Sinjakli
-
-## [1.11.3][] (2016-09-16)
-
-  * Fix known_hosts caching to match on the entire hostlist
-    [PR #364](https://github.com/capistrano/sshkit/pull/364) @byroot
-
-## [1.11.2][] (2016-07-29)
-
-### Bug fixes
-
-  * Fixed a crash occurring when `Host@keys` was set to a non-Enumerable.
-    @xavierholt [PR #360](https://github.com/capistrano/sshkit/pull/360)
-
-## [1.11.1][] (2016-06-17)
-
-### Bug fixes
-
-  * Fixed a regression in 1.11.0 that would cause
-    `ArgumentError: invalid option(s): known_hosts` in some older versions of
-    net-ssh. @byroot [#357](https://github.com/capistrano/sshkit/issues/357)
-
-## [1.11.0][] (2016-06-14)
-
-### Bug fixes
-
-  * Fixed colorized output alignment in Logger::Pretty. @xavierholt
-    [PR #349](https://github.com/capistrano/sshkit/pull/349)
-  * Fixed a bug that prevented nested `with` calls
-    [#43](https://github.com/capistrano/sshkit/issues/43)
-
-### Other changes
-
-  * Known hosts lookup optimization is now enabled by default. @byroot
-
-## 1.10.0 (2016-04-22)
-
-  * You can now opt-in to caching of SSH's known_hosts file for a speed boost
-    when deploying to a large fleet of servers. Refer to the
-    
[README](https://github.com/capistrano/sshkit/tree/v1.10.0#known-hosts-caching) 
for
-    details. We plan to turn this on by default in a future version of SSHKit.
-    [PR #330](https://github.com/capistrano/sshkit/pull/330) @byroot
-  * SSHKit now explicitly closes its pooled SSH connections when Ruby exits;
-    this fixes `zlib(finalizer): the stream was freed prematurely` warnings
-    [PR #343](https://github.com/capistrano/sshkit/pull/343) @mattbrictson
-  * Allow command map entries (`SSHKit::CommandMap#[]`) to be Procs
-    [PR #310](https://github.com/capistrano/sshkit/pull/310)
-    @mikz
-
-## 1.9.0
-
-**Refer to the 1.9.0.rc1 release notes for a full list of new features, fixes,
-and potentially breaking changes since SSHKit 1.8.1.** There are no changes
-since 1.9.0.rc1.
-
-## 1.9.0.rc1
-
-### Potentially breaking changes
-
-  * The SSHKit DSL is no longer automatically included when you `require` it.
-    **This means you  must now explicitly `include SSHKit::DSL`.**
-    See [PR #219](https://github.com/capistrano/sshkit/pull/219) for details.
-    @beatrichartz
-  * `SSHKit::Backend::Printer#test` now always returns true
-    [PR #312](https://github.com/capistrano/sshkit/pull/312) @mikz
-
-### New features
-
-  * `SSHKit::Formatter::Abstract` now accepts an optional Hash of options
-    [PR #308](https://github.com/capistrano/sshkit/pull/308) @mattbrictson
-  * Add `SSHKit::Backend.current` so that Capistrano plugin authors can 
refactor
-    helper methods and still have easy access to the currently-executing 
Backend
-    without having to use global variables.
-  * Add `SSHKit.config.default_runner` options that allows to override default 
command runner.
-    This option also accepts a name of the custom runner class.
-  * The ConnectionPool has been rewritten in this release to be more efficient
-    and have a cleaner internal API. You can still completely disable the pool
-    by setting `SSHKit::Backend::Netssh.pool.idle_timeout = 0`.
-    @mattbrictson @byroot [PR 
#328](https://github.com/capistrano/sshkit/pull/328)
-
-### Bug fixes
-
-  * make sure working directory for commands is properly cleared after 
`within` blocks
-    [PR #307](https://github.com/capistrano/sshkit/pull/307)
-    @steved
-  * display more accurate string for commands with spaces being output in 
`Formatter::Pretty`
-    [PR #304](https://github.com/capistrano/sshkit/pull/304)
-    @steved
-    [PR #319](https://github.com/capistrano/sshkit/pull/319) @mattbrictson
-  * Fix a race condition experienced in JRuby that could cause multi-server
-    deploys to fail. [PR #322](https://github.com/capistrano/sshkit/pull/322)
-    @mattbrictson
-
-## 1.8.1
-
-  * Change license to MIT, thanks to all the patient contributors who gave
-    their permissions.
-
-## 1.8.0
-
-  * add SSHKit::Backend::ConnectionPool#close_connections
-    [PR #285](https://github.com/capistrano/sshkit/pull/285)
-    @akm
-  * Clean up rubocop lint warnings
-    [PR #275](https://github.com/capistrano/sshkit/pull/275)
-    @cshaffer
-    * Prepend unused parameter names with an underscore
-    * Prefer “safe assignment in condition”
-    * Disambiguate regexp literals with parens
-    * Prefer `sprintf` over `String#%`
-    * No longer shadow `caller_line` variable in `DeprecationLogger`
-    * Rescue `StandardError` instead of `Exception`
-    * Remove useless `private` access modifier in `TestAbstract`
-    * Disambiguate block operator with parens
-    * Disambiguate between grouped expression and method params
-    * Remove assertion in `TestHost#test_assert_hosts_compare_equal` that 
compares something with itself
-  * Export environment variables and execute command in a subshell.
-    [PR #273](https://github.com/capistrano/sshkit/pull/273)
-    @kuon
-  * Introduce `log_command_start`, `log_command_data`, `log_command_exit` 
methods on `Formatter`
-    [PR #257](https://github.com/capistrano/sshkit/pull/257)
-    @robd
-    * Deprecate `@stdout` and `@stderr` accessors on `Command`
-  * Add support for deprecation logging options.
-    [README](README.md#deprecation-warnings),
-    [PR #258](https://github.com/capistrano/sshkit/pull/258)
-    @robd
-  * Quote environment variable values.
-    [PR #250](https://github.com/capistrano/sshkit/pull/250)
-    @Sinjo - Chris Sinjakli
-  * Simplified formatter hierarchy.
-    [PR #248](https://github.com/capistrano/sshkit/pull/248)
-    @robd
-    * `SimpleText` formatter now extends `Pretty`, rather than duplicating.
-  * Hide ANSI color escape sequences when outputting to a file.
-    [README](README.md#output-colors),
-    [Issue #245](https://github.com/capistrano/sshkit/issues/245),
-    [PR #246](https://github.com/capistrano/sshkit/pull/246)
-    @robd
-    * Now only color the output if it is associated with a tty,
-      or the `SSHKIT_COLOR` environment variable is set.
-  * Removed broken support for assigning an `IO` to the `output` config option.
-    [Issue #243](https://github.com/capistrano/sshkit/issues/243),
-    [PR #244](https://github.com/capistrano/sshkit/pull/244)
-    @robd
-    * Use `SSHKit.config.output = SSHKit::Formatter::SimpleText.new($stdin)` 
instead
-  * Added support for `:interaction_handler` option on commands.
-    [PR #234](https://github.com/capistrano/sshkit/pull/234),
-    [PR #242](https://github.com/capistrano/sshkit/pull/242)
-    @robd
-  * Removed partially supported `TRACE` log level.
-    
[2aa7890](https://github.com/capistrano/sshkit/commit/2aa78905f0c521ad9f697e7a4ed04ba438d5ee78)
-    @robd
-  * Add support for the `:strip` option to the `capture` method and strip by 
default on the `Local` backend.
-    [PR #239](https://github.com/capistrano/sshkit/pull/239),
-    [PR #249](https://github.com/capistrano/sshkit/pull/249)
-    @robd
-    * The `Local` backend now strips by default to be consistent with the 
`Netssh` one.
-    * This reverses change 
[7d15a9a](https://github.com/capistrano/sshkit/commit/7d15a9aebfcc43807c8151bf6f3a4bc038ce6218)
 to the `Local` capture API to remove stripping by default.
-    * If you require the raw, unstripped output, pass the `strip: false` 
option: `capture(:ls, strip: false)`
-  * Simplified backend hierarchy.
-    [PR #235](https://github.com/capistrano/sshkit/pull/235),
-    [PR #237](https://github.com/capistrano/sshkit/pull/237)
-    @robd
-    * Moved duplicate implementations of `make`, `rake`, `test`, `capture`, 
`background` on to `Abstract` backend.
-    * Backend implementations now only need to implement `execute_command`, 
`upload!` and `download!`
-    * Removed `Printer` from backend hierarchy for `Local` and `Netssh` 
backends (they now just extend `Abstract`)
-    * Removed unused `Net::SSH:LogLevelShim`
-  * Removed dependency on the `colorize` gem. SSHKit now implements its own 
ANSI color logic, with no external dependencies. Note that SSHKit now only 
supports the `:bold` or plain modes. Other modes will be gracefully ignored. 
[#263](https://github.com/capistrano/sshkit/issues/263)
-  * New API for setting the formatter: `use_format`. This differs from 
`format=` in that it accepts options or arguments that will be passed to the 
formatter's constructor. The `format=` syntax will be deprecated in a future 
release. [#295](https://github.com/capistrano/sshkit/issues/295)
-  * SSHKit now immediately raises a `NameError` if you try to set a formatter 
that does not exist. [#295](https://github.com/capistrano/sshkit/issues/295)
-  * Fix error message when the formatter does not exist. 
[#301](https://github.com/capistrano/sshkit/pull/301)
-
-## 1.7.1
-
-  * Fix a regression in 1.7.0 that caused command completion messages to be 
removed from log output. @mattbrictson
-
-## 1.7.0
-
-  * Update Vagrantfile to use multi-provider Hashicorp precise64 box - remove 
URLs. @townsen
-  * Merge host ssh_options and Netssh defaults @townsen
-    Previously if host-level ssh_options were defined the Netssh defaults
-    were ignored.
-  * Merge host ssh_options and Netssh defaults
-  * Fixed race condition where output of failed command would be empty. 
@townsen
-    Caused random failures of 
`test_execute_raises_on_non_zero_exit_status_and_captures_stdout_and_stderr`
-    Also fixes output handling in failed commands, and generally buggy output.
-  * Remove override of backtrace() and backtrace_locations() from 
ExecuteError. @townsen
-    This interferes with rake default behaviour and creates duplicate 
stacktraces.
-  * Allow running local commands using `on(:local)`
-  * Implement the upload! and download! methods for the local backend
-
-## 1.6.0
-
-  * Fix colorize to use the correct API (@fazibear)
-  * Lock colorize (sorry guys) version at >= 0.7.0
-
-## 1.6.0 (Yanked, because of colorize.)
-
-  * Force dependency on colorize v0.6.0
-  * Add your entries here, remember to credit yourself however you want to be
-    credited!
-  * Remove strip from capture to preserve whitespace. Nick Townsend
-  * Add vmware_fusion Vagrant provider. Nick Townsend
-  * Add some padding to the pretty log formatter
-
-## 1.5.1
-
-  * Use `sudo -u` rather than `sudo su` to switch users. Mat Trudel
-
-## 1.5.0
-
-  * Deprecate background helper - too many badly behaved pseudo-daemons. Lee 
Hambley
-  * Don't colourize unless $stdout is a tty. Lee Hambley
-  * Remove out of date "Known Issues" section from README. Lee Hambley
-  * Dealy variable interpolation inside `as()` block. Nick Townsend
-  * Fixes for functional tests under modern Vagrant. Lewis Marshal
-  * Fixes for connection pooling. Chris Heald
-  * Add `localhost` hostname to local backend. Adam Mckaig
-  * Wrap execptions to include hostname. Brecht Hoflack
-  * Remove `shellwords` stdlib dependency Bruno Sutic
-  * Remove unused `cooldown` accessor. Bruno Sutic
-  * Replace Term::ANSIColor with a lighter solution. Tom Clements
-  * Documentation fixes. Matt Brictson
-
-## 1.4.0
-
-https://github.com/capistrano/sshkit/compare/v1.3.0...v1.4.0
-
-  * Removed `invoke` alias for 
[`SSHKit::Backend::Printer.execute`](https://github.com/capistrano/sshkit/blob/master/lib/sshkit/backends/printer.rb#L20).
 This is to prevent collisions with
-  methods in capistrano with similar names, and to provide a cleaner API. See 
[capistrano issue 912](https://github.com/capistrano/capistrano/issues/912) and 
[issue 107](https://github.com/capistrano/sshkit/issues/107) for more details.
-  * Connection pooling now uses a thread local to store connection pool, 
giving each thread its own connection pool. Thank you @mbrictson see 
[#101](https://github.com/capistrano/sshkit/pull/101) for more.
-  * Command map indifferent towards strings and symbols thanks to @thomasfedb 
see [#91](https://github.com/capistrano/sshkit/pull/91)
-  * Moved vagrant wrapper to `support` directory, added ability to run tests 
with vagrant using ssh. @miry see 
[#64](https://github.com/capistrano/sshkit/pull/64)
-  * Removed unnecessary require `require_relative '../sshkit'` in 
`lib/sshkit/dsl.rb` prevents warnings thanks @brabic.
-  * Doc fixes thanks @seanhandley @vojto
-
-## 1.3.0
-
-https://github.com/capistrano/sshkit/compare/v1.2.0...v1.3.0
-
-  * Connection pooling. SSH connections are reused across multiple invocations
-    of `on()`, which can result in significant performance gains. See:
-    https://github.com/capistrano/sshkit/pull/70. Matt @mbrictson Brictson.
-  * Fixes to the Formatter::Dot and to the formatter class name resolver. 
@hab287:w
-  * Added the license to the Gemspec. @anatol.
-  * Fix :limit handling for the `in: :groups` run mode. Phil @phs Smith
-  * Doc fixes @seanhandley, @sergey-alekseev.
-
-## 1.2.0
-
-https://github.com/capistrano/sshkit/compare/v1.1.0...v1.2.0
-
-  * Support picking up a project local SSH config file, if a SSH config file
-    exists at ./.ssh/config it will be merged with the ~/.ssh/config. This is
-    ideal for defining project-local proxies/gateways, etc. Thanks to Alex
-    @0rca Vzorov.
-  * Tests and general improvements to the Printer backends (mostly used
-    internally). Thanks to Michael @miry Nikitochkin.
-  * Update the net-scp dependency version. Thanks again to Michael @miry
-    Nikitochkin.
-  * Improved command map. This feature allows mapped variables to be pushed
-    and unshifted onto the mapping so that the Capistrano extensions for
-    rbenv and bundler, etc can work together. For discussion about the 
reasoning
-    see https://github.com/capistrano/capistrano/issues/639 and
-    https://github.com/capistrano/sshkit/pull/45. A big thanks to Kir @kirs
-    Shatrov.
-  * `test()` and `capture()` now behave as expected inside a `run_locally` 
block
-    meaning that they now run on your local machine, rather than erring out. 
Thanks
-    to Kentaro @kentaroi Imai.
-  * The `:wait` option is now successfully passed to the runner now. 
Previously the
-    `:wait` option was ignored. Thanks to Jordan @jhollinger Hollinger for 
catching
-    the mistake in our test coverage.
-  * Fixes and general improvements to the `download()` method which until now 
was
-    quite naïve. Thanks to @chqr.
-
-## 1.1.0
-
-https://github.com/capistrano/sshkit/compare/v1.0.0...v1.1.0
-
-  * Please see the Git history. `git rebase` ate our changelog (we should have 
been
-    more careful)
-
-## 1.0.0
-
-  * The gem now supports a run_locally, although it's nothing to do with SSH,
-    it makes a nice API. There are examples in the EXAMPLES.md.
-
-## 0.0.34
-
-  * Allow the setting of global SSH options on the `backend.ssh` as a hash,
-    these options are the same as Net::SSH configure expects. Thanks to Rafał
-    @lisukorin Lisowski
-
-## 0.0.32
-
-  * Lots of small changes since 0.0.27.
-  * Particularly working around a possible NaN issue when uploading
-    comparatively large files.
-
-## 0.0.27
-
-  * Don't clobber SSH options with empty values. This allows Net::SSH to
-    do the right thing most of the time, and look into the SSH configuration
-    files.
-
-## 0.0.26
-
-  * Pretty output no longer prints white text. ("Command.....")
-  * Fixed a double-output bug, where upon receiving the exit status from a
-    remote command, the last data packet that it sent would be re-printed
-    by the pretty formatter.
-  * Integration tests now use an Ubuntu Precise 64 Vagrant base box.
-  * Additional host declaration syntax, `SSHKit::Host` can now take a hash of
-    host properties in addition to a number of new (common sense) DSN type
-    syntaxes.
-  * Changes to the constants used for logging, we no longer re-define a
-    `Logger::TRACE` constant on the global `Logger` class, rather everyhing
-    now uses `SSHKit::Logger` (Thanks to Rafa Garcia)
-  * Various syntax and documentation fixes.
-
-## 0.0.25
-
-  * `upload!` and `download!` now log to different levels depending on
-    completion percentage. When the upload is 0 percent complete or a number
-    indivisible by 10, the message is logged to `Logger::DEBUG` otherwise the
-    message is logged to `Logger::INFO`, this should mean that normal users at
-    a sane log level should see upload progress jump to `100%` for small
-    files, and otherwise for larger files they'll see output every `10%`.
-
-## 0.0.24
-
-  * Pretty output now streams stdout and stderr. Previous versions would
-    append (`+=`) chunks of data written by the remote host to the `Command`
-    instance, and the `Pretty` formatter would only print stdout/stderr if the
-    command was `#complete?`. Historically this lead to issues where the
-    remote process was blocking for input, had written the prompt to stdout,
-    but it was not visible on the client side.
-
-    Now each time the command is passed to the output stream, the
-    stdout/stderr are replaced with the lines returned from the remote server
-    in this chunk. (i.e were yielded to the callback block). Commands now have
-    attribute accessors for `#full_stdout` and `#full_stderr` which are 
appended
-    in the way that `#stdout` and `#stderr` were previously.
-
-    This should be considered a private API, and one should beware of relying
-    on `#full_stdout` or `#full_stderr`, they will likely be replaced with a
-    cleaner soltion eventually.
-
-  * `upload!` and `download!` now print progress reports at the `Logger::INFO`
-     verbosity level.
-
-## 0.0.23
-
-  * Explicitly rely on `net-scp` gem.
-
-## 0.0.22
-
-  * Added naïve implementations of `upload!()` and `download!()` (syncoronous) 
to
-    the Net::SSH backend. See `EXAMPLES.md` for more extensive usage examples.
-
-    The `upload!()` method can take a filename, or an `IO`, this reflects the 
way
-    the underlying Net::SCP implementation works. The same is true of
-    `download!()`, when called with a single argument it captures the file's
-    contents, otherwise it downloads the file to the local disk.
-
-        on hosts do |host|
-          upload!(StringIO.new('some-data-here'), '~/.ssh/authorized_keys')
-          upload!('~/.ssh/id_rsa.pub', '~/.ssh/authorized_keys')
-          puts download!('/etc/monit/monitrc')
-          download!('/etc/monit/monitrc', '~/monitrc')
-        end
-
-## 0.0.21
-
-  * Fixed an issue with default formatter
-  * Modified `SSHKit.config.output_verbosity=` to accept different objects:
-
-        SSHKit.config.output_verbosity = Logger::INFO
-        SSHKit.config.output_verbosity = :info
-        SSHKit.config.output_verbosity = 1
-
-## 0.0.20
-
- * Fixed a bug where the log level would be assigned, not compared in the
-   pretty formatter, breaking the remainder of the output verbosity.
-
-## 0.0.19
-
- * Modified the `Pretty` formatter to include the log level in front of
-   executed commands.
-
- * Modified the `Pretty` formatter not to print stdout and stderr by default,
-   the log level must be raised to Logger::DEBUG to see the command outputs.
-
- * Modified the `Pretty` formatter to use `Command#to_s` when printing the
-   command, this prints the short form (without modifications/wrappers applied
-   to the command for users, groups, directories, umasks, etc).
-
-## 0.0.18
-
- * Enable `as()` to take either a string/symbol as previously, but also now
-   accepts a hash of `{user: ..., group: ...}`. In case that your host system
-   supports the command `sg` (`man 1 sg`) to switch your effective group ID
-   then one can work on files as a team group user.
-
-        on host do |host|
-          as user: :peter, group: griffin do
-            execute :touch, 'somefile'
-          end
-        end
-
-    will result in a file with the following permissions:
-
-        -rw-r--r-- 1 peter griffin 0 Jan 27 08:12 somefile
-
-    This should make it much easier to share deploy scripts between team
-    members.
-
-    **Note:** `sg` has some very strict user and group password requirements
-    (the user may not have a password (`passwd username -l` to lock an account
-    that already has a password), and the group may not have a password.)
-
-    Additionally, and unsurprisingly *the user must also be a member of the
-    group.*
-
-    `sg` was chosen over `newgrp` as it's easier to embed in a one-liner
-    command, `newgrp` could be used with a heredoc, but my research suggested
-    that it might be better to use sg, as it better represents my intention, a
-    temporary switch to a different effective group.
-
- * Fixed a bug with environmental variables and umasking introduced in 0.0.14.
-   Since that version the environmental variables were being presented to the
-   umask command's subshell, and not to intended command's subshell.
-
-       incorrect: `ENV=var umask 002 && env`
-       correct:   `umask 002 && ENV=var env`
-
- * Changed the exception handler, if a command returns with a non-zero exit
-   status then the output will be prefixed with the command name and which
-   channel any output was written to, for example:
-
-       Command.new("echo ping; false")
-       => echo stdout: ping
-          echo stderr: Nothing written
-
-   In this contrived example that's more or less useless, however with badly
-   behaved commands that write errors to stdout, and don't include their name
-   in the program output, it can help a lot with debugging.
-
-## 0.0.17
-
- * Fixed a bug introduced in 0.0.16 where the capture() helper returned
-   the name of the command that had been run, not it's output.
-
- * Classify the pre-directory switch, and pre-user switch command guards
-   as having a DEBUG log level to exclude them from the logs.
-
-## 0.0.16
-
- * Fixed a bug introduced in 0.0.15 where the capture() helper returned
-   boolean, discarding any output from the server.
-
-## 0.0.15
-
- * `Command` now takes a `verbosity` option. This defaults to `Logger::INFO`
-   and can be set to any of the Ruby logger level constants. You can also set
-   it to the symbol `:debug` (and friends) which will be expanded into the 
correct
-   constants.
-
-   The log verbosity level is set to Logger::INFO by default, and can be
-   overridden by setting `SSHKit.config.output_verbosity = Logger::{...}`,
-   pick a level that works for you.
-
-   By default `test()` and `capture()` calls are surpressed, and not printed
-   by the pretty logger as of this version.
-
-## 0.0.14
-
- * Umasks can now be set on `Command` instances. It can be set globally with
-   `SSHKit.config.umask` (default, nil; meaning take the system default). This
-   can be used to set, for example a umask of `007` for allowing users with
-   the same primary group to share code without stepping on eachother's toes.
-
-## 0.0.13
-
- * Correctly quote `as(user)` commands, previously it would expand to:
-   `sudo su user -c /usr/bin/env echo "Hello World"`, in which the command to
-   run was taken as simply `/usr/bin/env`. By quoting all arguments it should
-   now work as expected. `sudo su user -c "/usr/bin/env echo \""Hello World\""`
-
-## 0.0.12
-
- * Also print anything the program wrote to stdout when the exit status is
-   non-zero and the command raises an error. (assits debugging badly behaved
-   programs that fail, and write their error output to stdout.)
-
-## 0.0.11
-
- * Implementing confuguration objects on the backends (WIP, undocumented)
- * Implement `SSHKit.config.default_env`, a hash which can be modified and
-   will act as a global `with`.
- * Fixed #9 (with(a: 'b', c: 'c') being parsed as `A=bC=d`. Now properly space
-   separated.
- * Fixed #10 (overly aggressive shell escaping), one can now do:
-   `with(path: 'foo:$PATH') without the $ being escaped too early.
-
-## 0.0.10
-
-* Include more attributes in `Command#to_hash`.
-
-## 0.0.9
-
-* Include more attributes in `Command#to_hash`.
-
-## 0.0.8
-
-* Added DSL method `background()` this sends a task to the background using
-  `nohup` and redirects it's output to `/dev/null` so as to avoid littering
-  the filesystem with `nohup.out` files.
-
-**Note:** Backgrounding a task won't work as you expect if you give it a
-string, that is you must do `background(:sleep, 5)` and not `background("sleep 
5")`
-according to the rules by which a command is not processed in any way **if it
-contains a spaca character in it's first argument**.
-
-Usage Example:
-
-    on hosts do
-      background :rake, "assets:precompile" # typically takes 5 minutes!
-    end
-
-**Further:** Many programs are badly behaved and no not work well with `nohup`
-it has to do with the way nohup works, reopening the processe's file
-descriptors and redirecting them. Programs that re-open, or otherwise
-manipulate their own file descriptors may lock up when the SSH session is
-disconnected, often they block writing to, or reading from stdin/out.
-
-## 0.0.7
-
-* DSL method `execute()` will now raise `SSHKit::Command::Failed` when the
-  exit status is non-zero. The message of the exception will be whatever the
-  process had written to stdout.
-* New DSL method `test()` behaves as `execute()` used to until this version.
-* `Command` now raises an error in `#exit_status=()` if the exit status given
-  is not zero. (see below)
-* All errors raised by error conditions of SSHKit are defined as subclasses of
-  `SSHKit::StandardError` which is itself a subclass of `StandardError`.
-
-The `Command` objects can be set to not raise, by passing 
`raise_on_non_zero_exit: false`
-when instantiating them, this is exactly what `test()` does internally.
-
-Example:
-
-    on hosts do |host
-      if test "[ -d /opt/sites ]" do
-        within "/opt/sites" do
-          execute :git, :pull
-        end
-      else
-        execute :git, :clone, 'some-repository', '/opt/sites'
-      end
-    end
-
-## 0.0.6
-
-* Support arbitrary properties on Host objects. (see below)
-
-Starting with this version, the `Host` class supports arbitrary properties,
-here's a proposed use-case:
-
-    servers = %w{one.example.com two.example.com
-                 three.example.com four.example.com}.collect do |s|
-      h = SSHKit::Host.new(s)
-      if s.match /(one|two)/
-        h.properties.roles = [:web]
-      else
-        h.properties.roles = [:app]
-      end
-    end
-
-    on servers do |host|
-      if host.properties.roles.include?(:web)
-        # Do something pertinent to web servers
-      elsif host.properties.roles.include?(:app)
-        # Do something pertinent to application servers
-      end
-    end
-
-Naturally, this is a contrived example, the `#properties` attribute on the
-Host instance is implemented as an 
[`OpenStruct`](http://ruby-doc.org/stdlib-1.9.3/libdoc/ostruct/rdoc/OpenStruct.html)
 and
-will behave exactly as such.
-
-## 0.0.5
-
-* Removed configuration option `SSHKit.config.format` (see below)
-* Removed configuration option `SSHKit.config.runner` (see below)
-
-The format should now be set by doing:
-
-    SSHKit.config.output = File.open('/dev/null')
-    SSHKit.config.output = MyFormatterClass.new($stdout)
-
-The library ships with three formatters, `BlackHole`, `Dot` and `Pretty`.
-
-The default is `Pretty`, but can easily be changed:
-
-    SSHKit.config.output = SSHKit::Formatter::Pretty.new($stdout)
-    SSHKit.config.output = SSHKit::Formatter::Dot.new($stdout)
-    SSHKit.config.output = SSHKit::Formatter::BlackHole.new($stdout)
-
-The one and only argument to the formatter is the *String/StringIO*ish object
-to which the output should be sent. (It should be possible to stack
-formatters, or build a multi-formatter to log, and stream to the screen, for
-example)
-
-The *runner* is now set by `default_options` on the Coordinator class. The
-default is still *:parallel*, and can be overridden on the `on()` (or
-`Coordinator#each`) calls directly.
-
-There is no global way to change the runner style for all `on()` calls as of
-version `0.0.5`.
-
-## 0.0.4
-
-* Rename the ConnectionManager class to Coordinator, connections are handled
-  in the backend, if it needs to create some connections.
-
-## 0.0.3
-
-* Refactor the runner classes into an abstract heirarchy.
-
-## 0.0.2
-
-* Include a *Pretty* formatter
-* Modify example to use Pretty formatter.
-* Move common behaviour to an abstract formatter.
-* Formatters no longer inherit StringIO
-
-## 0.0.1
-
-First release.
-
-[Unreleased]: https://github.com/capistrano/sshkit/compare/v1.20.0...HEAD
-[1.20.0]: https://github.com/capistrano/sshkit/compare/v1.19.1...v1.20.0
-[1.19.1]: https://github.com/capistrano/sshkit/compare/v1.19.0...v1.19.1
-[1.19.0]: https://github.com/capistrano/sshkit/compare/v1.18.2...v1.19.0
-[1.18.2]: https://github.com/capistrano/sshkit/compare/v1.18.1...v1.18.2
-[1.18.1]: https://github.com/capistrano/sshkit/compare/v1.18.0...v1.18.1
-[1.18.0]: https://github.com/capistrano/sshkit/compare/v1.17.0...v1.18.0
-[1.17.0]: https://github.com/capistrano/sshkit/compare/v1.16.1...v1.17.0
-[1.16.1]: https://github.com/capistrano/sshkit/compare/v1.16.0...v1.16.1
-[1.16.0]: https://github.com/capistrano/sshkit/compare/v1.15.1...v1.16.0
-[1.15.1]: https://github.com/capistrano/sshkit/compare/v1.15.0...v1.15.1
-[1.15.0]: https://github.com/capistrano/sshkit/compare/v1.14.0...v1.15.0
-[1.14.0]: https://github.com/capistrano/sshkit/compare/v1.13.1...v1.14.0
-[1.13.1]: https://github.com/capistrano/sshkit/compare/v1.13.0...v1.13.1
-[1.13.0]: https://github.com/capistrano/sshkit/compare/v1.12.0...v1.13.0
-[1.12.0]: https://github.com/capistrano/sshkit/compare/v1.11.5...v1.12.0
-[1.11.5]: https://github.com/capistrano/sshkit/compare/v1.11.4...v1.11.5
-[1.11.4]: https://github.com/capistrano/sshkit/compare/v1.11.3...v1.11.4
-[1.11.3]: https://github.com/capistrano/sshkit/compare/v1.11.2...v1.11.3
-[1.11.2]: https://github.com/capistrano/sshkit/compare/v1.11.1...v1.11.2
-[1.11.1]: https://github.com/capistrano/sshkit/compare/v1.11.0...v1.11.1
-[1.11.0]: https://github.com/capistrano/sshkit/compare/v1.10.0...v1.11.0
+Release notes for this project are kept here: 
https://github.com/capistrano/sshkit/releases
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/Dangerfile new/Dangerfile
--- old/Dangerfile      2019-08-04 01:08:28.000000000 +0200
+++ new/Dangerfile      2020-03-05 03:02:26.000000000 +0100
@@ -1 +1 @@
-danger.import_dangerfile(github: "capistrano/danger")
+danger.import_dangerfile(github: "capistrano/danger", branch: "no-changelog")
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/Gemfile new/Gemfile
--- old/Gemfile 2019-08-04 01:08:28.000000000 +0200
+++ new/Gemfile 2020-03-05 03:02:26.000000000 +0100
@@ -7,13 +7,6 @@
   gem 'json'
 end
 
-# Chandler requires Ruby >= 2.1.0, but depending on the Travis environment,
-# we may not meet that requirement. Only include the chandler gem if the Ruby
-# requirement is met. (Chandler is used only for `rake release`; see Rakefile.)
-if Gem::Requirement.new('>= 
2.1.0').satisfied_by?(Gem::Version.new(RUBY_VERSION))
-  gem 'chandler', '>= 0.1.1'
-end
-
 # public_suffix 3+ requires ruby 2.1+
 if Gem::Requirement.new('< 2.1').satisfied_by?(Gem::Version.new(RUBY_VERSION))
   gem 'public_suffix', '< 3'
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/README.md new/README.md
--- old/README.md       2019-08-04 01:08:28.000000000 +0200
+++ new/README.md       2020-03-05 03:02:26.000000000 +0100
@@ -590,8 +590,4 @@
 
 ## SSHKit Related Blog Posts
 
-[SSHKit Gem Basics](http://www.rubyplus.com/articles/591)
-
-[SSHKit Gem Part 2](http://www.rubyplus.com/articles/601)
-
 [Embedded Capistrano with 
SSHKit](http://ryandoyle.net/posts/embedded-capistrano-with-sshkit/)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/RELEASING.md new/RELEASING.md
--- old/RELEASING.md    2019-08-04 01:08:28.000000000 +0200
+++ new/RELEASING.md    2020-03-05 03:02:26.000000000 +0100
@@ -5,7 +5,6 @@
 * You must have commit rights to the SSHKit repository.
 * You must have push rights for the sshkit gem on rubygems.org.
 * You must be using Ruby >= 2.1.0.
-* Your `~/.netrc` must be configured with your GitHub credentials, [as 
explained here](https://github.com/mattbrictson/chandler#2-configure-netrc).
 
 ## How to release
 
@@ -13,6 +12,6 @@
 2.  **Ensure the tests are passing by running `rake test`.** If functional 
tests fail, ensure you have [Vagrant](https://www.vagrantup.com) installed and 
have started it with `vagrant up`.
 3. Determine which would be the correct next version number according to 
[semver](http://semver.org/).
 4. Update the version in `./lib/sshkit/version.rb`.
-5. Update the `CHANGELOG`.
-6. Commit the changelog and version in a single commit, the message should be 
"Preparing vX.Y.Z"
-7. Run `rake release`; this will tag, push to GitHub, publish to rubygems.org, 
and upload the latest changelog entry to the [GitHub releases 
page](https://github.com/capistrano/sshkit/releases).
+5. Commit the `version.rb` change with a message like "Preparing vX.Y.Z"
+6. Run `rake release`; this will tag, push to GitHub, and publish to 
rubygems.org
+7. Update the draft release on the [GitHub releases 
page](https://github.com/capistrano/sshkit/releases) to point to the new tag 
and publish the release
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/Rakefile new/Rakefile
--- old/Rakefile        2019-08-04 01:08:28.000000000 +0200
+++ new/Rakefile        2020-03-05 03:02:26.000000000 +0100
@@ -30,10 +30,7 @@
   task.options = ['--lint']
 end
 
-task "release:rubygem_push" do
-  # Delay loading Chandler until this point, since it requires Ruby >= 2.1,
-  # which may not be available in all environments (e.g. Travis).
-  # We assume that the person doing `rake release` has Ruby >= 2.1.
-  require "chandler/tasks"
-  Rake.application.invoke_task("chandler:push")
+Rake::Task["release"].enhance do
+  puts "Don't forget to publish the release on GitHub!"
+  system "open https://github.com/capistrano/sshkit/releases";
 end
Binary files old/checksums.yaml.gz and new/checksums.yaml.gz differ
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/examples/simple_connection.rb 
new/examples/simple_connection.rb
--- old/examples/simple_connection.rb   2019-08-04 01:08:28.000000000 +0200
+++ new/examples/simple_connection.rb   2020-03-05 03:02:26.000000000 +0100
@@ -7,4 +7,3 @@
 on [ENV.fetch("HOST")] do
   execute "echo hello"
 end
-
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/lib/sshkit/command.rb new/lib/sshkit/command.rb
--- old/lib/sshkit/command.rb   2019-08-04 01:08:28.000000000 +0200
+++ new/lib/sshkit/command.rb   2020-03-05 03:02:26.000000000 +0100
@@ -239,7 +239,7 @@
 
     def call_interaction_handler(stream_name, data, channel)
       interaction_handler = options[:interaction_handler]
-      interaction_handler = MappingInteractionHandler.new(interaction_handler) 
if interaction_handler.kind_of?(Hash)
+      interaction_handler = MappingInteractionHandler.new(interaction_handler) 
if interaction_handler.kind_of?(Hash) or interaction_handler.kind_of?(Proc)
       interaction_handler.on_data(self, stream_name, data, channel) if 
interaction_handler.respond_to?(:on_data)
     end
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/lib/sshkit/version.rb new/lib/sshkit/version.rb
--- old/lib/sshkit/version.rb   2019-08-04 01:08:28.000000000 +0200
+++ new/lib/sshkit/version.rb   2020-03-05 03:02:26.000000000 +0100
@@ -1,3 +1,3 @@
 module SSHKit
-  VERSION = "1.20.0".freeze
+  VERSION = "1.21.0".freeze
 end
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/metadata new/metadata
--- old/metadata        2019-08-04 01:08:28.000000000 +0200
+++ new/metadata        2020-03-05 03:02:26.000000000 +0100
@@ -1,7 +1,7 @@
 --- !ruby/object:Gem::Specification
 name: sshkit
 version: !ruby/object:Gem::Version
-  version: 1.20.0
+  version: 1.21.0
 platform: ruby
 authors:
 - Lee Hambley
@@ -9,7 +9,7 @@
 autorequire: 
 bindir: bin
 cert_chain: []
-date: 2019-08-03 00:00:00.000000000 Z
+date: 2020-03-05 00:00:00.000000000 Z
 dependencies:
 - !ruby/object:Gem::Dependency
   name: net-ssh
@@ -180,6 +180,8 @@
 extensions: []
 extra_rdoc_files: []
 files:
+- ".github/release-drafter.yml"
+- ".github/workflows/push.yml"
 - ".gitignore"
 - ".rubocop.yml"
 - ".rubocop_todo.yml"
@@ -271,7 +273,8 @@
 homepage: http://github.com/capistrano/sshkit
 licenses:
 - MIT
-metadata: {}
+metadata:
+  changelog_uri: https://github.com/capistrano/sshkit/releases
 post_install_message: 
 rdoc_options: []
 require_paths:
@@ -287,7 +290,7 @@
     - !ruby/object:Gem::Version
       version: '0'
 requirements: []
-rubygems_version: 3.0.4
+rubygems_version: 3.1.2
 signing_key: 
 specification_version: 4
 summary: SSHKit makes it easy to write structured, testable SSH commands in 
Ruby
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/sshkit.gemspec new/sshkit.gemspec
--- old/sshkit.gemspec  2019-08-04 01:08:28.000000000 +0200
+++ new/sshkit.gemspec  2020-03-05 03:02:26.000000000 +0100
@@ -9,6 +9,9 @@
   gem.description   = %q{A comprehensive toolkit for remotely running commands 
in a structured manner on groups of servers.}
   gem.homepage      = "http://github.com/capistrano/sshkit";
   gem.license       = "MIT"
+  gem.metadata      = {
+    "changelog_uri" => "https://github.com/capistrano/sshkit/releases";
+  }
 
   gem.executables   = `git ls-files -- bin/*`.split("\n").map{ |f| 
File.basename(f) }
   gem.files         = `git ls-files`.split("\n")
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/test/functional/backends/test_local.rb 
new/test/functional/backends/test_local.rb
--- old/test/functional/backends/test_local.rb  2019-08-04 01:08:28.000000000 
+0200
+++ new/test/functional/backends/test_local.rb  2020-03-05 03:02:26.000000000 
+0100
@@ -99,6 +99,24 @@
         end.run
         assert_equal("Enter Data\nCaptured SOME DATA", captured_command_result)
       end
+
+      def test_interaction_handler_with_proc
+        captured_command_result = nil
+        Local.new do
+          command = 'echo Enter Data; read the_data; echo Captured $the_data;'
+          captured_command_result = capture(command, interaction_handler:
+            lambda { |data|
+              case data
+              when "Enter Data\n"
+                "SOME DATA\n"
+              when "Captured SOME DATA\n"
+                nil
+              end
+            }
+          )
+        end.run
+        assert_equal("Enter Data\nCaptured SOME DATA", captured_command_result)
+      end
     end
   end
 end
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/test/helper.rb new/test/helper.rb
--- old/test/helper.rb  2019-08-04 01:08:28.000000000 +0200
+++ new/test/helper.rb  2020-03-05 03:02:26.000000000 +0100
@@ -3,7 +3,7 @@
 require 'tempfile'
 require 'minitest/autorun'
 require 'minitest/reporters'
-require 'mocha/setup'
+require 'mocha/minitest'
 require 'stringio'
 require 'json'
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/test/unit/formatters/test_pretty.rb 
new/test/unit/formatters/test_pretty.rb
--- old/test/unit/formatters/test_pretty.rb     2019-08-04 01:08:28.000000000 
+0200
+++ new/test/unit/formatters/test_pretty.rb     2020-03-05 03:02:26.000000000 
+0100
@@ -115,7 +115,7 @@
 
     def test_can_write_to_output_which_just_supports_append
       # Note output doesn't have to be an IO, it only needs to support <<
-      output = stub(:<<)
+      output = stub(:<< => nil)
       pretty = SSHKit::Formatter::Pretty.new(output)
       simulate_command_lifecycle(pretty)
     end


Reply via email to