From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.io!.POSTED.blaine.gmane.org!not-for-mail From: pukkamustard Newsgroups: gmane.lisp.guile.user Subject: [ANN] Guile-ERIS 1.0.0 released Date: Mon, 10 Oct 2022 13:50:35 +0000 Message-ID: <86lepnbvmr.fsf@posteo.net> Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable Injection-Info: ciao.gmane.io; posting-host="blaine.gmane.org:116.202.254.214"; logging-data="8265"; mail-complaints-to="usenet@ciao.gmane.io" To: guile-user Original-X-From: guile-user-bounces+guile-user=m.gmane-mx.org@gnu.org Mon Oct 10 16:57:32 2022 Return-path: Envelope-to: guile-user@m.gmane-mx.org Original-Received: from lists.gnu.org ([209.51.188.17]) by ciao.gmane.io with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1ohuDk-0001yC-0Q for guile-user@m.gmane-mx.org; Mon, 10 Oct 2022 16:57:32 +0200 Original-Received: from localhost ([::1]:53406 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1ohuDi-0004Cn-MR for guile-user@m.gmane-mx.org; Mon, 10 Oct 2022 10:57:30 -0400 Original-Received: from eggs.gnu.org ([2001:470:142:3::10]:60548) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1ohtm0-0000FJ-1i for guile-user@gnu.org; Mon, 10 Oct 2022 10:28:52 -0400 Original-Received: from mout02.posteo.de ([185.67.36.66]:57971) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1ohtlx-0005gK-N7 for guile-user@gnu.org; Mon, 10 Oct 2022 10:28:51 -0400 Original-Received: from submission (posteo.de [185.67.36.169]) by mout02.posteo.de (Postfix) with ESMTPS id 4B13D240101 for ; Mon, 10 Oct 2022 16:28:46 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=posteo.net; s=2017; t=1665412126; bh=cLuA40XGKmgjZSxmgzc4CjsrQI6l6FaQcDUAvJ8MNaQ=; h=From:To:Subject:Date:From; b=rvZ/BbULHiY6rPc+LENcKZKRKewk4Okjt5RzAaPTJsIDBSWBiKDRA727DY36T4VLe 4XWnsA2tGd7YmnNu2lK4OytzfYNgngb+kEXZKfB8TfKAjW0W3wfY6NiLFrMnCe+hTh ZDC0+2OdKmxfYR1+TxKdYdgegfyqKnIWaLypdXj/J1fjFiceL1ANAFNwsEXv5oSteG dgKbhyCdY6NlwyUTaHsbN30JrPHcxjuSTjSgwmY3tG28TCYLK3Z3Clpwf2LAfZ4brE cI/iyXPkoVO/QAl+4HrzeRFzo5ChUi6BYsGqksR/SALkP6rG5mN5vvD2PPiAYhD6pM upK3333zR2R4w== Original-Received: from customer (localhost [127.0.0.1]) by submission (posteo.de) with ESMTPSA id 4MmLrF5jY3z9rxQ for ; Mon, 10 Oct 2022 16:28:45 +0200 (CEST) Received-SPF: pass client-ip=185.67.36.66; envelope-from=pukkamustard@posteo.net; helo=mout02.posteo.de X-Spam_score_int: -27 X-Spam_score: -2.8 X-Spam_bar: -- X-Spam_report: (-2.8 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_LOW=-0.7, RCVD_IN_MSPIKE_H2=-0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: guile-user@gnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: General Guile related discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: guile-user-bounces+guile-user=m.gmane-mx.org@gnu.org Original-Sender: "guile-user" Xref: news.gmane.io gmane.lisp.guile.user:18616 Archived-At: 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).=20 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 (=C3=A0 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