Hello Guilers! I'm pleased to announce Guile-SSH 0.16.4: https://github.com/artyom-poptsov/guile-ssh/releases/tag/v0.16.4
As usual, this release tag is signed with my GPG key[1]. This release fixes "channel leak" error reported by GNU Guix users. Guile-SSH 0.16.4 API should be backward-compatible with Guile-SSH 0.16.3, 0.16.2, 0.16.1 and 0.16.0. You can read the Guile-SSH documentation online here: <https://memory-heap.org/~avp/projects/guile-ssh/manual/> Or here (through the Yggdrasil[2] network): <http://[200:5387:e555:14c6:b492:6b7c:f9df:98c5]/~avp/projects/guile-ssh/manual/ Please note that: 1. The Yggdrasil access is experimental and there's no guarantees; the actual Yggdrasil IPv6 address can be found on the main page of the site: <https://memory-heap.org/~avp/> 2. The site itself is self-hosted so sometimes it is a bit flacky. * What is Guile-SSH? Guile-SSH is a library that provides access to the SSH protocol[3] for programs written in GNU Guile interpreter. It is built upon the libssh[4] 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 applications. - 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, or do directory traversal 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. - Procedures for interaction with SSH agents. * The list of user-visible changes Here's the list of user-visible changes: --8<---------------cut here---------------start------------->8--- * Changes in version 0.16.4 (2023-12-17) ** =private-key-from-file= now allows to read encrypted keys The procedure =private-key-from-file= from =(ssh key)= now has optional =#:auth-callback= and =#:user-data= keys that allow to specify a callback procedure to read the password for an encrypted key, and optionally pass to the callback procedure some user data. The Texinfo documentation for =private-key-from-file= is updated with an usage example. New tests were added for the new functionality. ** Add GNU Guix workflows for GitHub CI Now Guile-SSH has GNU Guix workflows for GitHub CI. Platforms: - x86_64-linux-gnu - aarch64-linux-gnu Thanks to Sharlatan Hellseher <sharlata...@gmail.com> ** Fix typos in the documentation Some typos in =doc/api-popen.texi= are fixed, thanks to Maxim Cournoyer <maxim.courno...@gmail.com> --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 References: 1. https://pgp.mit.edu/pks/lookup?search=0x0898A02F&op=index 2. https://yggdrasil-network.github.io/ 3. https://en.wikipedia.org/wiki/Secure_Shell 4. https://www.libssh.org/ -- Artyom "avp" Poptsov <poptsov.art...@gmail.com> Home page: https://memory-heap.org/~avp/ CADR Hackerspace co-founder: https://cadrspace.ru/ GPG: D0C2 EAC1 3310 822D 98DE B57C E9C5 A2D9 0898 A02F
signature.asc
Description: PGP signature