1+ # v 1.2.2 2022-02-25 [stable]
2+
3+ This is a maintenance release with major bug fixes.
4+
5+ There were several shortcomings with bandwidth management: capping was not
6+ performed correctly and could overuse uploading bandwidth. Also when the DHT
7+ is turned off or on, we need to recompute proper bandwidth stealing.
8+
9+ Corruption of the DHT disk databases could also lead to a crash.
10+
11+ There was a critical old bug in the Dynamic Querying layer that affected
12+ Ultrapeers mostly: we could corrupt memory and/or crash when the current node
13+ was removed and we were processing a Dynamic Query for that node. This is
14+ more likely to happen when running as an Ultrapeer but it could also affect
15+ nodes running as leaves, although the probability of that bug happening is
16+ much less in that case.
17+
18+ Finally, it is best to not iterate on a global list that could get changed
19+ due to a node removal. This was the case when sending pongs to neighbouring
20+ nodes, so we now take a private copy.
21+
22+ Improvements:
23+ - Extended "props" shell command with -e (exact) and -i (ignore missing).
24+ - The "props" command now takes a set of properties, handled as one batch.
25+
26+ Bug Fixes:
27+ - Properly recompute bandwidth stealing on DHT changes.
28+ - Avoid crashing in D-Bus lib when filename is improperly UTF-8 encoded.
29+ - DHT: protect against corrupted database.
30+ - bw_available(): fix invalid logic for I/O source capping.
31+ - pong_all_neighbours_but_one(): iterate on local list.
32+ - dq_node_removed(): must free dq object asynchronously.
33+
34+ Under the Hood:
35+ - Update IRC network information: moved from freenode to libera.chat
36+ - Chunk size limiting for uploads accounts for bandwidth.
37+ - Reduce memory footprint for statx_t if no data kept.
38+ - CQ: defer freeing of dispatched event.
39+ - watchdog: be more verbose within critical messages.
40+ - node_parse(): signal to callers when we have BYE-ed the node.
41+ - cq_event_called(): use better diagnostic on assert failure.
42+ - dbus_util_send_message(): protect against invalid text.
43+ - prepare_entry(): ensure entry invariant remains true.
44+ - wd_expire(): do nothing if watchdog was asleep.
45+
146# v 1.2.1 2021-07-12 [stable]
247
348This is a maintenance release with minor bug fixes.
@@ -21,7 +66,7 @@ to store the data.
2166Add properties to track bytes exchanged by schedulers. These properties
2267track the amount of bytes exchanged by session and are reset to 0 whenever
2368a new user session starts. It allows users to see the actual amount of
24- data consumed by running gtk-gnutella sessions, programatically via the
69+ data consumed by running gtk-gnutella sessions, programmatically via the
2570shell interface.
2671
2772Add -t switch to shell "status" command: this displays the total amount
0 commit comments