unofficial mirror of guile-user@gnu.org 
 help / color / mirror / Atom feed
* [ANN] Guile-ERIS 1.0.0 released
@ 2022-10-10 13:50 pukkamustard
  0 siblings, 0 replies; only message in thread
From: pukkamustard @ 2022-10-10 13:50 UTC (permalink / raw)
  To: guile-user


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



^ permalink raw reply	[flat|nested] only message in thread

only message in thread, other threads:[~2022-10-10 13:50 UTC | newest]

Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2022-10-10 13:50 [ANN] Guile-ERIS 1.0.0 released pukkamustard

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).