unofficial mirror of guile-user@gnu.org 
 help / color / mirror / Atom feed
From: "Artyom V. Poptsov" <poptsov.artyom@gmail.com>
To: Guile Users' Mailing List <guile-user@gnu.org>
Subject: [ANN] Guile-SSH 0.16.4 released
Date: Sun, 17 Dec 2023 16:43:49 +0300	[thread overview]
Message-ID: <87le9tx7u2.fsf@gmail.com> (raw)

[-- Attachment #1: Type: text/plain, Size: 4241 bytes --]

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 <sharlatanus@gmail.com>
** Fix typos in the documentation
Some typos in =doc/api-popen.texi= are fixed, thanks to
Maxim Cournoyer <maxim.cournoyer@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.artyom@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

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 869 bytes --]

                 reply	other threads:[~2023-12-17 13:43 UTC|newest]

Thread overview: [no followups] expand[flat|nested]  mbox.gz  Atom feed

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

  List information: https://www.gnu.org/software/guile/

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=87le9tx7u2.fsf@gmail.com \
    --to=poptsov.artyom@gmail.com \
    --cc=guile-user@gnu.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).