1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
|
# -*- mode: org; coding: utf-8 -*-
# Copyright (C) 2021--2023 GNUnet e.V.
# SPDX-License-Identifier: FSFAP
# Copying and distribution of this file, with or without modification,
# are permitted in any medium without royalty provided the copyright
# notice and this notice are preserved. This file is offered as-is,
# without any warranty.
* Changes since 0.3
** New functionality
- New tools for writing services -- see ‘Writing service communication code’
in the manual. These tools have been used to reduce duplication between
client code of different services, so tests targeting a single service
automatically also test the other services a bit.
- New macro 'analyse', 'construct' and 'define-analyser', to make using
read%, select% and 'set%', less tedious when the type and slice remains
the same. Also, by using the new macros, the code base should now be a
bit more readible.
- New 'slice-contents-equal?' procedure.
** Bugfixes
- A potential (but unverified) bug with automatic collection is fixed --
previously, if DHT garbage was found multiple times within a single
reconnection, it might only be found once. Due to the new unification
of service code, the same fix automatically applies to all other
services.
** Documentation
- For 'make-disconnect!', only a single argument was mentioned in the
manual, but there were actually two (non-optional!) arguments. This
has been rectified.
- Bytevector slices ((gnu gnunet utils bv-slice)) are now documented in the
manual, in the chapter ‘Bytevector slices’, albeit not completely.
** API changes
- The DHT API now uses <hashcode:512> objects from (gnu gnunet hashcode)
instead of raw /hashcode:512 bytevector slices, for consistency with
the not-yet-written FS API. The (gnu gnunet hashcode) module has been
tweaked to fit the conventions.
* Changes since 0.2
** New functionality
- New tools for writing services -- have a look at ‘Writing service
communication code’ and ‘Testing service code’ in the manual for various
procedures for writing service code and testing it.
- There is some initial support for CADET in (gnu gnunet cadet client),
documented in the manual. However, it is incomplete and reconnection
is completely untested.
- DHT searches can now be stopped (‘cancelled’) with 'stop-get!'.
Additionally, DHT searches are automatically cancelled when the
search object becomes unreachable.
- DHT and NSE server objects are automatically disconnected when they become
unreachable.
- The new module (gnu gnunet concurrency lost-and-found) can detect if an
object became garbage-collectable, interacting with guile-fibers.
- (gnu gnunet utils bv-slice) has been extended.
** API changes
- (gnu gnunet data-string) now signals bogus input with exceptions instead
of returning #false.
- (gnu gnunet utils hat-let) is now more flexible in recognising _ --
it is now irrelevant whether _ has been imported (from (rnrs base))
or not.
** Bug fixes
- Negative floating point numbers are now recognised by the configuration parser.
- Envelopes now have a 'envelope-peek-irrevocably-sent?' procedure for testing
if it has been sent.
** Internals
- (gnu gnunet data-string) has been modified to not mutate any variables.
- The tests in tests/mq-stream are now more sensitive.
- Documentation has been split in several files.
- The configure script tests if the required Guile libraries are available.
** Documentation
- The ‘message-symbol’ network structure property is now defined for DHT
messages and documented in the manual. The aim is to make the code
a little more self-documenting and understandable.
- Likewise, a new ‘c-type’ property has been defined, making
cross-referencing between Scheme and C sources simpler.
- ‘send-message!’ and ‘priority-preferences’ are documented.
* Changes since 0.1
** Features
- A DHT client! (gnu gnunet dht client), documented in the manual
- More specific exceptions in (gnu gnunet utils bv-slice) -- an &missing-capabilities
exception is now raised instead of an &assertion when appropriate.
** Bug fixes and other ‘non-user facing’ changes
- The NSE client now accepts NaN as standard deviation instead of printing an error message.
Sometimes the NSE service sends NaN as standard deviation, see
<https://bugs.gnunet.org/view.php?id=7021#c18399>.
- The bytes in a slice are only printed when the slice is readable,
so unreadability of slices cannot be circumvented with object->string
anymore.
- Bytevector slice manipulating code now raises &missing-capabilities
conditions instead of &assertion when appropriate.
|