[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[ANN] Guile-SSH 0.13.0 released

From: Artyom V. Poptsov
Subject: [ANN] Guile-SSH 0.13.0 released
Date: Sat, 01 Aug 2020 21:02:24 +0300

Hello Guilers,

I'm pleased to announce Guile-SSH 0.13.0:

I've released it two weeks ago and sent the message to the ML, but it
turned out that my Emacs Gnus setup was misconfigured and the message
got lost on the way to the ML.  So here's the announcement.

This version includes new (simplified) implementation of
'call-with-ssh-forward', adds support for 'nodelay' session option,
fixes some segfaults and improves the library code. Also Aleix Conchillo
FlaquƩ has ported Guile-SSH to macOS and the release includes his

See the full list of the user-visible changes below.

* What is Guile-SSH?

Guile-SSH is a library that provides access to the SSH protocol[2] for
programs written in GNU Guile interpreter.  It is built upon the
libssh[3] library.

Currently Guile-SSH provides the following features:
  - The API that is sufficient for building of standalone SSH clients and
    servers, or for embedding client/server functionality in your lispy Scheme
  - Several authentication methods are supported, including password
    authentication, public key and SSH agent authentication methods.
  - Key management procedures: you can make key pairs, read keys from files,
    get key hashes, get public keys from private keys etc.  DSS, RSA, RSA1 and
    ECDSA (by means of OpenSSL) are supported.
  - Port forwarding procedures and high-level API for creating of SSH tunnels.
  - Distributed forms ('dist-map', 'distribute', ...) that allow to spread the
    evaluation of Scheme code between remote hosts.  Or you can just connect
    to a remote REPL from Scheme using 'with-ssh' procedure and evaluate some
    expressions.  No special server needed on the remote side, just an SSH
    daemon and GNU Guile installed!
  - SFTP client API allows you to read and write remote files over the SSH
    protocol right from the Scheme code.
  - Remote popen API that allows you to make either input, output or
    bidirectional pipes to remote processes.
  - Detailed documentation in Texinfo format with examples included, even more
    examples in 'examples' directory.

* The list of user-visible changes

Here's the list of user-visible changes (an excerpt from NEWS file):

--8<---------------cut here---------------start------------->8---
* Changes in version 0.13.0 (2020-07-18)
** API change: 'call-with-ssh-forward' does not start a thread
   The procedure does not start a thread because multi-threading with libssh
   sometimes leads to random segfaults.

   Now 'call-with-ssh-forward' calls the provided procedure with a channel as
   an argument instead.

   If you wish to have a socket that forwards all the data to the remote side
   through an SSH channel, you should implement a separate process that
   forwards the data. There is an example in the directory 'examples/rpc' that
   shows how to implement such a forwarding.
** API change: add 'nodelay' option for Guile-SSH sessions
   Thanks to Lars-Dominik Braun.
** Fix some random segfaults in the channel and session code
** Add support for macOS
   Now Guile-SSH can be installed on macOS through a Homebrew Tap:

   Thanks to Aleix Conchillo FlaquƩ!
** Disable libguile-ssh static library
   This change is a part of poring Guile-SSH to macOS.
** Don't use deprecated libssh procedures
   Add additional checks that replace deprecated procedures with the new ones
   when newer libssh library is present.
** Changes in documentation
   Fix Texinfo warnings.
--8<---------------cut here---------------end--------------->8---

Many thanks to all the people who helped me with bug reports, pull
requests and other hints.  I added all contributors to "AUTHORS" and
"THANKS" files -- please let me know if I forgot to thank someone or
if there any typos.

- Artyom

Artyom "avp" Poptsov <>
CADR Hackerspace co-founder:
GPG: D0C2 EAC1 3310 822D 98DE  B57C E9C5 A2D9 0898 A02F

Attachment: signature.asc
Description: PGP signature

reply via email to

[Prev in Thread] Current Thread [Next in Thread]