GNUnet 0.23.0

GNUnet is a framework for secure and anonymous peer-to-peer networking that does not use any centralized or otherwise trusted services. Currently, the framework offers censorship-resistant file-sharing, messaging, VPN, GNS (a decentralized version of DNS), and much more. GNUnet is currently developed by a worldwide group of independent free software developers. GNUnet is a GNU package (http://www.gnu.org/).

Tags anonymity f2f file-sharing gns gnunet internet networking p2p vpn
License Affero GPLv3
State development

Recent Releases

0.23.010 Dec 2024 06:45 major feature: Add GNUNET_CONFIGURATION_set_value_float. - util: Float configuration values are no longer locale-dependent, but instead must always be in LC_NUMERIC=C format. - GNUNET_DISK_internal_file_handle_ changed to always return int. - Reworkd ProjectData handling; Now required as input for various API calls.
0.22.228 Nov 2024 08:45 minor bugfix: GNUNET_STRINGS_get_utf8_args removed. - Removed unsafe and unused functions for 2d/3d array allocation.
0.22.126 Nov 2024 20:25 minor bugfix: Update HELLO files for new bootstrap peer. Regression in DHT Bloom filter. Long-standing regression in HELLO URI expirations.
0.22.019 Nov 2024 21:05 major feature: New logging API to print/parse hex bytes. - Added RFC9180 HPKE and associated KEMs. - Replace oneshot PKE and KEM APIs with HPKE. - New Elligator KEM. - Namestore API allows multiple records to be inserted in a single transaction (if plugin supports this). - New ECDH API that uses KDFs instead of hash. - Renamed GNUNET_CRYPTO_hkdf to GNUNET_CRYPTO_hkdf_gnunet. - Added new standard SHA256-based HKDF APIs. - New hostlist bootrap domain https://bootstrap.gnunet.org.
0.21.115 Mar 2024 15:18 major feature: - Communicator and connectivity bugfixes
0.21.007 Mar 2024 09:46 major feature: Reworked PEERSTORE API. - Added record flag for maintenance records. - ensure traits can be generated with subsystem-specific prefor the symbols. - libgnunettesting first major testing NG refactor towards getting dependency structure streamlined. - Remove single-use API macro GNUNET_VA_ARG_ENUM. - major revision of blind signature API. - Introduced closure to hold store context when caling function to add hello in peerstore. - Added DDLs for handling GNUNET_PEERSTORE_StoreHelloContext. - Removed old hello functionality. - Refactoring components under src/ into lib/, plugin/, cli/ and service/. - add support for encoding/decoding double values as part of JSON to libgnunetjson. - Changed method GNUNET_HELLO_builder_get_expiration_time to not need parameter GNUNET_HELLO_Builder. - Code moved to the core package to get rid of circular dependencies. - Moved code to testing to have more generic test setup, which can be used not only from within transport. - The old hello design replaced by the new hello design. - Added api to get notified when hellos are stored with peerstore service. - Added api to store hellos with peerstore service. - Changed new hello uri api to allow to change the expiration time. - Moved start peer command to testing subsystem. - Removed all usage of old transport api, beside peerinfo tool, gnunet-transport cli and usage in transport layer itself. - Added __attribute__((deprecated)) to the old transport API.
0.20.002 Jan 2024 16:23 major feature: - GNUNET_TESTING_get_testname_from_underscore renamed to GNUNET_STRINGS_get_suffix_from_binary_name and moved from libgnunettesting to libgnuneutil - Move GNUNET_s into libgnunetutil. - re-introduce compiler annotation for array size in signature - function-signature adjustment due to compiler error - GNUNET_PQ_get_oid removed, GNUNET_PQ_get_oid_by_name improved - Added GNUNET_PQ_get_oid_by_name - added GNUNET_PQ_get_oid() - Added new CCA-secure KEM and use in IDENTITY encryption - Add KEM API to avoid ephemeral private key management - Add new GNUNET_PQ_event_do_poll() API to gnunet_pq_lib.h - Added API to support arrays in query results - Improve PQ API documentation. - API for array types extended for times - API extended for array query types - relevant array-types in queries (not results) in postgresql added - just style fixes, int to enum - initial steps towards support of array-types in posgresql - adds GNUNET_JSON_spec_object_const() and GNUNET_JSON_spec_array_const()
0.18.104 Nov 2022 17:09 minor bugfix: Noteworthy changes in 0.18.1 (since 0.18.0) IDENTITY: Major internal API cleanup with respect to key serialization. Removed deprecated default subsystem API. TESTING: Fix broken tests. GTK: Update with recent changes to IDENTITY.
0.18.027 Oct 2022 12:30 minor feature: Noteworthy changes in 0.18.0 (since 0.17.6) UTIL: Added enum GNUNET_ErrorCode for better error handling throughout the API. NAMESTORE: 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. #7378 Added a new API for bulk imports: GNUNET_NAMESTORE_records_store2. 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. #7379 New database setup utility gnunet-namestore-dbtool. Databases can be initialized and reset using this new CLI. Currently, database plugins still allow to initialize databases automatically as well by setting INIT_ON_CONNECT (Default: YES). #7204 There are new APIs for zone iterations and monitoring which support filtering of records using GNUNET_GNSRECORD_Filter. By default, maintenance records such as TOMBSTONEs are filtered. #7193 New zonefile import utility gnunet-namestore-zonefile that for DNS zone files. #7396 Make use of new enum GNUNET_ErrorCode in C and REST API. #7399 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. #7401, #7402 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: Zonemaster now uses worker threads for record signing. DHT: The specification has been updated to reflect the changes. LSD0004 BUILD: Fix mysql/mariadb detection (again). #7356 PACKAGING: Revamped the RPM package available through Fedora COPR and submitted it.
0.17.626 Sep 2022 05:48 minor feature: Noteworthy changes in 0.17.6 (since 0.17.5) NAMESTORE: Added transactional API. #7203 Removed heap storage storage plugin. FS: Fix `-s` and `-o` options not working together in gnunet-search REST: Added (optional) authentication for all rest endpoints. #5669 DOC: Doxygen is now built only if available. Sphinx is built on bootstrap. #7324 UTIL: Remove outdated test. #7361 BUILD: Remove gnurl as dependency and improve cURL detection. #5084
0.17.412 Aug 2022 01:08 minor bugfix: This is a bugfix release for gnunet 0.17.3 because of a missing file in the tarball required to build the documentation.
0.17.306 Aug 2022 12:27 minor bugfix: Noteworthy changes in 0.17.3 (since 0.17.2) DHT: Various bugfixes in the protocol. TRANSPORT: Fix HTTPS tests. #7257 DOCUMENTATION: Migrate from texinfo to sphinx. Dropped dependency on texinfo. Added dependency on sphinx. A detailed list of changes can be found in the ChangeLog and the bugtracker.
0.17.210 Jul 2022 14:13 minor bugfix: Noteworthy changes in 0.17.1 (since 0.17.2) DHT: Various bugfixes in the protocol. RECLAIM: OpenID Connect plugin improvements. ABE: Removed. A detailed list of changes can be found in the ChangeLog and the bugtracker.
0.17.113 Jun 2022 16:22 minor bugfix: Noteworthy changes in 0.17.0 (since 0.17.1) DHT: Bugfix in HELLO message format. LSD0004 compliance. RECLAIM: OpenID Connect plugin now needs (optional) jose dependency. A detailed list of changes can be found in the ChangeLog and the bugtracker.
0.17.012 Jun 2022 14:04 major feature: Noteworthy changes in 0.17.0 (since 0.16.3) GNS: FCFSD: Allow configuration of relative expiration time of added records. Aligned with breaking changes in specification. LSD0001 DHT: Aligned and reordered message formats. LSD0004 Moved block type definitions to GANA The specification has been updated to reflect the changes. LSD0004 UTIL: Fix scheduler bug with same-priority immediately-ready tasks possibly hogging the scheduler. Fix mysql/mariadb detection. A detailed list of changes can be found in the ChangeLog and the bug tracker.
0.16.331 Mar 2022 01:28 minor bugfix: This is a bugfix release for gnunet 0.16.2. Download links http://ftpmirror.gnu.org/gnunet/gnunet-0.16.3.tar.gz http://ftpmirror.gnu.org/gnunet/gnunet-0.16.3.tar.gz.sig The GPG key used to sign is: 3D11063C10F98D14BD24D1470B0998EF86F59B6A Note that due to mirror synchronization, not all links may be functional early after the release. For direct access try http://ftp.gnu.org/gnu/gnunet/ Noteworthy changes in 0.16.3 (since 0.16.2) GNS: Fix record processing in DHT. Buildsystem: Fix portability issues. A detailed list of changes can be found in the ChangeLog and the 0.16.2 bugtracker.
0.16.231 Mar 2022 01:27 minor feature: This is a bugfix release for gnunet 0.16.1. Download links http://ftpmirror.gnu.org/gnunet/gnunet-0.16.2.tar.gz http://ftpmirror.gnu.org/gnunet/gnunet-0.16.2.tar.gz.sig The GPG key used to sign is: 3D11063C10F98D14BD24D1470B0998EF86F59B6A Note that due to mirror synchronization, not all links may be functional early after the release. For direct access try http://ftp.gnu.org/gnu/gnunet/ Noteworthy changes in 0.16.2 (since 0.16.1) DHT: Fix path signature handling. GNS: Fix BOX handling in zone apex. NAMESTORE: Prevent storing under invalid labels. Buildsystem: Fix build on *BSD and Guix. A detailed list of changes can be found in the ChangeLog and the 0.16.2 bugtracker.
0.16.114 Mar 2022 12:35 minor feature: NAMESTORE: Warn use of low relative expiration times - Martin Schanzenbach. NAMESTORE: Do not display label for TOMBSTONE only record sets - Martin Schanzenbach. GNS: Fix publishing of private records - Martin Schanzenbach. Add `contrib/get_version.sh` to `EXTRA_DIST` (for allowing to launch `autoreconf -i` with the released tarball, when necessary) - madmurphy. BUILD: Allow boostrap when offline (if gana files exist) - Martin Schanzenbach. BUILD: Detect missing libsodium. Fixes #7153 - Martin Schanzenbach.
0.16.002 Mar 2022 19:47 major feature: We are pleased to announce the release of GNUnet 0.16.0. This is a new major release. It breaks protocol compatibility with the 0.15.x versions. Please be aware that Git master is thus henceforth (and has been for a while) INCOMPATIBLE with the 0.15.x GNUnet network, and interactions between old and new peers will result in issues. 0.15.x peers will be able to communicate with Git master or 0.16.x peers, but some services - in particular GNS - 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.16.0 release is still only suitable for early adopters with some reasonable pain tolerance. Note that due to mirror synchronization, not all links might be functional early after the release. For direct access try http://ftp.gnu.org/gnu/gnunet/ Noteworthy changes in 0.16.0 (since 0.15.3) GNS: New record flag: CRITICAL. For records that must be processed otherwise resolution must fail. #7169 Deletion of records and reduction of expiration times is now properly handled with respect to monotonically increasing expiratin times. #7170 VPN tunnel establishment is moved out of the GNS resolver to be handled by applications (such as the DNS2GNS service). #7171 Introduces new record type REDIRECT which replaces the previous (ab)use of CNAME records. #7172 The specification has been updated to reflect the changes. LSD0001 DHT: Routes can now be signed. #4164 Changed distance metric to a more traditi
0.15.330 Aug 2021 05:07 minor feature: Config: handle syntax error instead of dereferencing NULL pointer - Florian Dold