v0.25.0:
  - util: Removed authkem from HPKE implementation as it is going to be removed from the RFC9180bis spec and is unused in GNUnet anyway.
  - core: New AKE implementation.
  - pils: New service.
  - gns: Various improvements to performance and DNS migration tooling.
  - build: Retired autotools.

v0.24.3:
  - util: Support time specs with 'w' for weeks and 'y' for years as well
  - identity: Delete previously removed GNUNET_IDENTITY_get/set API from header
  - libmhd: Fix critical bug in compression implementation.
  - build: Make gnutls an optional dependency
  - other: Service activation: properly use LISTEN_FDNAMES as per modern systemd specification

v0.24.2:
  - Fix GNUNET_CURL_extend_headers() which failed to actually modify headers.
  - Fix configuration loader to not abort loading configuration files on first non-"*.conf"-file.
  - Fix logging when using timetravel.
  - Fix segfault in gnunet-config.

v0.24.1:
  - Fix crash in libgnunetpq when Postgresql database was restarted
  - Add configure and make functionality for new meson build (https://www.gnu.org/prep/standards/html_node/Configuration.html)

v0.24.0:
  - Meson is new default build system
  - JSON: split off libgnunetmhd from libgnunetjson, renaming various GNUNET_JSON_-symbols to GNUNET_MHD_-. Removes dependency of libgnunetjson on libmicrohttpd

v0.23.0:
  - 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
  - Reworked ProjectData handling; Now required as input for various API calls.

v0.22.2:
  - GNUNET_STRINGS_get_utf8_args removed.
  - Removed unsafe and unused functions for 2d/3d array allocation.

v0.22.1:
  - Update HELLO files for new bootstrap peer
  - Fix regression in DHT Bloom filter
  - Fix long-standing regression in HELLO URI expirations

v0.22.0:
  - 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 bootstrap domain https://bootstrap.gnunet.org

v0.21.2:
  - Reworked TESTING API
  - Disabled many old-style tests
  - TESTING: introduce GNUNET_TESTING_command_new_ac
  - UTIL: change return type to 'bool' from GNUNET_is_zero()
  - Added GNUNET_GNS_parse_ztld helper API

v0.21.1:
  - Communicator and connectivity bugfixes

v0.21.0:
  - Reworked PEERSTORE API
  - Added record flag for maintenance records
  - ensure traits can be generated with subsystem-specific prefixes for 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 calling 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

v0.20.0:
  - 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 postgresql
  - adds GNUNET_JSON_spec_object_const() and GNUNET_JSON_spec_array_const()

v0.19.4:
  - No changes

v0.19.3:
  - We now detect MySQL's strange, version-dependent my_bool type on configure.
  - Add pkg-config definitions for gnunet messenger.

v0.19.2:
  - New changelog format origin
