-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathNEWS
204 lines (151 loc) · 6.05 KB
/
NEWS
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
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
libdex 0.9.1
============
* Improve build checks for libatommic
* Add dex_promise_resolve_boxed()
* Improve cancellation of fibers
* Use libucontext when necessary
libdex 0.9.0
============
This is an unstable release for GNOME 48.alpha
* Support for OpenBSD
* Raise default mmap stack size to 128kb for fibers
* Add await/resolve API for file-descriptors
* New dex_return_error_if_fail() precondition macro similar to
g_return_val_if_fail()
* Additional GIO wrapper functions including dex_file_delete() and
dex_file_replace_contents_bytes()
* Build system improvements
libdex 0.8.1
============
This is a stable release for GNOME 47.0
* Fix disabling of assertions in production builds
libdex 0.8.0
============
This is a stable release for GNOME 47.0
* Various build system improvements to help catch correctness issues.
* Increased assertions in fibers to help Coverity discover usage patterns.
* Avoid releasing discarded future until chained future is released.
* Fix overflow in extremely large timeout calculation.
* Various introspection fixes.
* Fix inclusion from C++.
libdex 0.7.1
============
This is an beta release for GNOME 47.beta
* Allow disabling stack protector on systems that do not support it
* Always use ucontext.h on macOS to simplify integration there
libdex 0.7.0
============
This is an alpha release for GNOME 47.alpha
* Various build fixes for macOS 14+
* dex_future_new_true() and dex_future_new_false() convenience macros
* Avoid possible linking of asm.S on Linux so that we do not make the
GCC annobin checker unhappy.
* Allow a NULL GObject for dex_future_new_take_object().
libdex 0.6.0
============
This is a stable release for GNOME 46
* No changes since 0.5.1
libdex 0.5.1
============
* Add convenience API for checking exact future status without enum
* Lots of documentation additions
libdex 0.5.0
============
This is a beta release for GNOME 46.
* Various API now warns about unused results to help avoid unintended
leaks of futures.
* dex_file_query_exists() is a new wrapper for g_file_query_exists()
* Documentation fixes
libdex 0.4.3
============
This release contains a few more followup fixes for fallback scheduling,
particularly on Linux systems without io_uring. We've also enabled CI
to test this situation more closely as we're most likely to run into it
on distribution build systems running older Linux kernels.
* New build options for disabling io_uring and eventfd support which
enable testing more fallback paths in CI.
* Worker threads will now use a GMainLoop instead iterating GMainContext
manually.
* An idle is used for scheduling work items directly onto a worker thread
instead of going through the global work queue when not already running
on a worker thread. Otherwise the lock-free work queue is used.
* A fix for a potential deadlock when failing to create an additional
worker thread.
* Fix a release build warning.
libdex 0.4.2
============
This release contains an important fix for running on systems with
io_uring and recent Linux kernels.
* io_uring AIO backend will now attempt to create the io_uring on the
target worker thread so that IORING_SETUP_SINGLE_ISSUER may restrict
submissions correctly.
* Linux distributions may optionally disable liburing using the build
time option -Dliburing=disabled. In that case, the fallback of POSIX
IO with a thread-pool will be used.
libdex 0.4.1
============
This release includes an important fix for how io_uring CQE are handled.
libdex 0.4.0
============
This is the release for GNOME 45.
Changes in this release:
* Documentation fix
libdex 0.3.1
============
This is the beta release for GNOME 45.
Changes in this release:
* A new "Infinite" future type which will never resolve or reject.
* The gio wrappers will now set debuggable names for their futures.
* A `dex_async_pair_set_cancel_on_discard()` function has been added which
ensures that the `GCancellable` will not be cancelled when the future
is discarded. This can help in situations where you might repeatedly
await on a future and do not want intermediate cancellation between
attempts to await.
* A `dex_input_stream_skip_async()` function has been added to wrap the
underlying GIO function.
* A `dex_future_disown()` function has been added which simplifies the
case where you want a future to run but are not interested in the result.
libdex 0.3.0
============
This is the first alpha release for GNOME 45.
Changes in this release:
* Documentation updates
* pkg-config improvements
* Build system improvements for GIR
* Support for GVariant-based futures
* New Future-based wrappers for GDBusConnection
* The FD-based AIO API is now public, allowing for use of io_uring
on Linux kernels that support it. If unsupported, a threadpool
approach is used similar to GIO.
* Improvements to introspection for language bindings.
* You can now return NULL for a DexPromise expecting a GObject as
as a resolved value.
* DexFiber will now get static names associated with them when
used from C which points to the line of code. This is only enabled
when debugging is enabled for libdex through the use of macros.
libdex 0.2.0
============
This is the first release intended for end-users.
Changes in this release:
* Followup fixes for building on mips
* Fixes for introspection gi-scanner
* Remove abstract type flag from DexFuture to satisfy GObject Introspection
rules about constructors.
* Many documentation/gi-annotation fixes
* Build system improvements
* Default to `-Dintrospection=enabled`
libdex 0.1.1
============
Changes in this release:
* Fix soname versioning
* Documentation improvements
* Fix various GObject Introspection issues
* More backports for older GLib use
* Various ucontext fiber fixes for less-used architectures
* Fixes for various incorrect cast-align warnings
* Tweaks for better Forward portability
* Add some missing g_autoptr() definitions
* Add GCancellation integration to DexPromise
libdex 0.1.0
============
This is an initial release of libdex meant for experimentation and testing.