-
Notifications
You must be signed in to change notification settings - Fork 0
/
ChangeLog
126 lines (90 loc) · 3.8 KB
/
ChangeLog
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
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
Change Log
==========
1.0.1 (2024-09-12)
------------------
Changes:
* The included headers have been updated everywhere
1.0.0 (2022-07-13)
------------------
Changes:
* Version 0.5.0 can now be considered stable; the version string has been
updated to 1.0.0
* The public header has been moved back into the `src` subdirectory
0.5.0 (2022-02-13)
------------------
Changes:
* The semantics of the `on_worker_start` routine has changed, and the function
can now return more precise instructions about what must be done, after it
returns, with its worker. Please be aware that **this breaks binary
compatibility with previous versions of this library**
* The opaque `struct` that contains a worker has been renamed to
`GNUNET_WORKER_Instance`, while its former `GNUNET_WORKER_Handle` identifier
is now being used for a pointer to it (source compatibility break)
* Documentation
* Examples
0.4.1 (2022-02-07)
------------------
Changes:
* Minor code review
* Documentation
* Examples
0.4.0 (2022-02-01)
------------------
Changes:
* Identifier † `GNUNET_WORKER_ERR_OK` in `enum GNUNET_WORKER_ErrNo` has been
renamed to `GNUNET_WORKER_SUCCESS`
* The behavior of all functions has been rendered as agnostic as possible in
respect to which thread invokes them
* Conditional branching has been made more coherent, although this has come
with a cost in the length and the complexity of the code
* General code review
* Documentation
0.3.1 (2022-01-29)
------------------
Changes:
* Code review in the implementation (a possible memory leak before worker
destruction has been prevented; the `O_NONBLOCK` flag has been assigned to
the worker's file descriptor; unnecessary calls to `pthread_cond_signal()`
have been removed from `requirement.h`; general code review)
* Documentation
0.3.0 (2022-01-27)
------------------
Changes:
* The interface has changed in respect to worker creation. All the three
functions `GNUNET_WORKER_create()`, `GNUNET_WORKER_start_serving()`,
`GNUNET_WORKER_adopt_running_scheduler()` now return error codes, while the
handle for the allocated worker is passed via placeholder argument. **This
breaks binary compatibility with previous versions**. Using error codes has
allowed to remove several log messages, which now will be up to the user.
* Support for a `master_routine` argument has been added to
`GNUNET_WORKER_adopt_running_scheduler()` (again, binary compatibility break)
* The † `GNUNET_WorkerHandlerRoutine` data type has been renamed to
`GNUNET_WORKER_MasterRoutine`
* A new `GNUNET_WORKER_ERR_NOT_ALONE` error code can now be returned by
`GNUNET_WORKER_synch_destroy()` and `GNUNET_WORKER_timedsynch_destroy()`
* The role of the `on_worker_end` routine has been defined more strictly
* General code review in the implementation
* Documentation
* Examples
0.2.0 (2022-01-26)
------------------
Changes:
* Identifier † `GNUNET_WORKER_ERR_NOTIFICATION` in `enum GNUNET_WORKER_ErrNo`
has been renamed to `GNUNET_WORKER_ERR_SIGNAL`
* A missing check has been added to `GNUNET_WORKER_adopt_running_scheduler()`
* Owned threads have been ensured to result in either joined or detached after
calling `GNUNET_WORKER_asynch_destroy()`, `GNUNET_WORKER_synch_destroy()`,
`GNUNET_WORKER_timedsynch_destroy()` or `GNUNET_WORKER_dismiss()`
* `GNUNET_WORKER_ERR_SIGNAL` has been added to the possible return values of
`GNUNET_WORKER_start_serving()`
* Stack usage during worker creation has been drastically reduced
* Log messages and source code have been made more expressive
* The `Requirement` data type and its methods have been moved to a separate
private header (`src/requirement.h`)
* The public header has been moved to the `include` subdirectory
* General package review
* Documentation
* Examples
0.1.0 (2022-01-24)
------------------
**GNUnet Worker** has been published.