[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[ANN] Guile-SSH 0.13.0 released
Artyom V. Poptsov
[ANN] Guile-SSH 0.13.0 released
Sat, 01 Aug 2020 21:02:24 +0300
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 for
programs written in GNU Guile interpreter. It is built upon the
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):
* 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.
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 "avp" Poptsov <email@example.com>
CADR Hackerspace co-founder: https://cadrspace.ru/
GPG: D0C2 EAC1 3310 822D 98DE B57C E9C5 A2D9 0898 A02F
Description: PGP signature
|[Prev in Thread]
||[Next in Thread]|
- [ANN] Guile-SSH 0.13.0 released,
Artyom V. Poptsov <=