unofficial mirror of guile-user@gnu.org 
 help / color / mirror / Atom feed
From: pukkamustard <pukkamustard@posteo.net>
To: guile-user <guile-user@gnu.org>
Subject: [ANN] Guile-ERIS 1.0.0 released
Date: Mon, 10 Oct 2022 13:50:35 +0000	[thread overview]
Message-ID: <86lepnbvmr.fsf@posteo.net> (raw)


Hello,

I'm very happy to announce the release of Guile-ERIS 1.0.0:

https://codeberg.org/eris/guile-eris/src/tag/v1.0.0

Guile-ERIS is an implementation of the Encoding for Robust Immutable
Storage (ERIS). ERIS is a specification of how some content can be
encoded into uniformly sized, encrypted and content-addressed blocks as
well as a short read capability. The content can be reassembled from the
encrypted blocks only with this read capability. ERIS allows a form of
network-optimized content-addressing. See the specification document for
more details on ERIS (http://purl.org/eris). 

A stable version of the ERIS specification (version 1.0.0) has recently
been released [1]. This version of Guile-ERIS implements the stable
specification of the encoding. Note that the version of this library
(Guile-ERIS) and the ERIS specification are independant and coincide by
chance.

This release of Guile-ERIS (1.0.0) breaks compatibility with the
previous release (0.2.0). Subsequent 1.x.y releases will remain API
compatible (à la Semantic Versioning).

Changes from version 0.2.0 include:

- Implement version 1.0.0 of the ERIS specification
- Provide `open-eris-output-port` and `open-eris-input-port` for
  encoding/decoding content to/from a port.
- Provide low-level encoder and decoder objects that allow more
  fine-grained control and advanced functionality.
- Remove the transducer-based API (this can be re-implemented with the
  encoder/decoder objects).
- Add an info manual
- Extended tests (including property-based tests using Guile-QuickCheck)

The manual is also available online:

https://eris.codeberg.page/guile-eris/

The API changes where mostly motivated from work on using ERIS for Guix
substitutes [2]. The port-based API composes nicer with how Guix and
probably many other applications work.

This release does not yet contain any bindings to storage or transport
layers (e.g. IPFS, SQLite, GNUNet, ...). We plan to add these in
subsequent releases. See also the info manual for some pointers on how
such bindings may look.

Also stay tuned for an update of Guix issue #52555: Decentralized
substitute distribution with ERIS [2]. I'm happy to announce that we
have received some funding from NGI/NLnet to work on this [3].

In the meantime, further implementations of ERIS have appeared in
various languages (Nim, Common Lisp, Smalltalk, OCaml, Rust) and further
are in development (Python, Go, JavaScript). See the project site for
details (https://eris.codeberg.page/).

Best regards,
pukkamustard


[1] https://lists.sr.ht/~pukkamustard/eris/%3C86lerfkvyo.fsf%40posteo.net%3E
[2] https://issues.guix.gnu.org/52555
[3] https://codeberg.org/eris/meta/src/branch/main/ngi-assure/project-plan.org#headline-19



                 reply	other threads:[~2022-10-10 13:50 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=86lepnbvmr.fsf@posteo.net \
    --to=pukkamustard@posteo.net \
    --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).