| by Arround The Web | No comments

GNUnet News: GNUnet 0.18.0

GNUnet 0.18.0 released

We are pleased to announce the release of GNUnet 0.18.0.

GNUnet is an alternative network stack for building secure, decentralized and
privacy-preserving distributed applications.
Our goal is to replace the old insecure Internet protocol stack.
Starting from an application for secure publication of files, it has grown to
include all kinds of basic protocol components and applications towards the
creation of a GNU internet.

This is a new major release. It breaks protocol compatibility with the 0.17.x versions.
Please be aware that Git master is thus henceforth (and has been for a


the 0.17.x GNUnet network, and interactions between old and new peers
will result in issues. 0.17.x peers will be able to communicate with Git
master or 0.18.x peers, but some services - in particular the DHT - will not be compatible.

In terms of usability, users should be aware that there are still

a number of known open issues

in particular with respect to ease
of use, but also some critical privacy issues especially for mobile users.
Also, the nascent network is tiny and thus unlikely to
provide good anonymity or extensive amounts of interesting information.
As a result, the 0.18.0 release is still

only suitable for early adopters
with some reasonable pain tolerance


Download links

The GPG key used to sign is:


Note that due to mirror synchronization, not all links might be functional
early after the release. For direct access try


Noteworthy changes in 0.18.0 (since 0.17.6)

  • UTIL

    : Added

    enum GNUNET_ErrorCode

    for better error handling throughout the API.



    • Moved namecache updates out of namestore and into zonemaster. This fixes issues from version 0.17.6 with respect to premature namestore monitor update messages and zone propagation. [


    • Added a new API for bulk imports:


      . The API can be combined with the transactional API in order to significantly improve namestore performance for lage zones. For postgres databases, storing records is around 20x faster than the old API. [


    • New database setup utility


      . Databases can be initialized and reset using this new CLI. Currently, database plugins still allow to initialize databases automatically as well by setting


      (Default: YES). [


    • There are new APIs for zone iterations and monitoring which support filtering of records using


      . By default, maintenance records such as


      s are filtered. [


    • New zonefile import utility


      that for DNS zone files. [


    • Make use of new

      enum GNUNET_ErrorCode

      in C and REST API. [


    • Included handling of orphaned GNS records. Records are orphaned of Egos are (accidentally) deleted which makes operations on records difficult but at the same time existing records are still published. [




    • Updated the

      C API documentation

      to reflect the above changes.
    • Updated the

      user documentation

      to reflect the above changes and included various tutorials on zone management.
    • Updated the

      REST API and its documentation

      to reflect the above changes.


    : Zonemaster now uses worker threads for record signing.

  • DHT


    • The specification has been updated to reflect the changes.




    • Fix mysql/mariadb detection (again). [




    : Revamped the

    RPM package

    available through

    Fedora COPR


    submitted it


A detailed list of changes can be found in the



bug tracker


Known Issues

  • There are known major design issues in the TRANSPORT, ATS and CORE subsystems which will need to be addressed in the future to achieve acceptable usability, performance and security.
  • There are known moderate implementation limitations in CADET that negatively impact performance.
  • There are known moderate design issues in FS that also impact usability and performance.
  • There are minor implementation limitations in SET that create unnecessary attack surface for availability.
  • The RPS subsystem remains experimental.
  • Some high-level tests in the test-suite fail non-deterministically due to the low-level TRANSPORT issues.

In addition to this list, you may also want to consult our bug tracker at


which lists about 190 more specific issues.


This release was the work of many people. The following people contributed code and were thus easily identified:
Bernd Fix, Christian Grothoff, Tristan Schwieren, madmurphy, Willow Liquorice, t3sserakt, TheJackiMonster and Martin Schanzenbach.
We are greatful for funding from


has supported several developers over the last four years to work on the

GNU Name System

and related subsystems.

Share Button

Source: Planet GNU

Leave a Reply