| Index | index by Group | index by Distribution | index by Vendor | index by creation date | index by Name | Mirrors | Help | Search |
| Name: libdex-1-1 | Distribution: openSUSE Tumbleweed |
| Version: 1.2.0 | Vendor: openSUSE |
| Release: 1.1 | Build date: Wed Sep 30 18:32:17 2026 |
| Group: Unspecified | Build host: reproducible |
| Size: 320003 | Source RPM: libdex-1.2.0-1.1.src.rpm |
| Packager: https://bugs.opensuse.org | |
| Url: https://gitlab.gnome.org/chergert/libdex | |
| Summary: Shared library for libdex | |
Dex is a library supporting "Deferred Execution" with the explicit goal of integrating with GNOME and GTK-based applications. It provides primatives for supporting futures in a variety of ways with both read-only and writable views. Additionally, integration with existing asynchronous-based APIs is provided through the use of wrapper promises. "Fibers" are implemented which allows for writing synchronous looking code which calls asynchronous APIs from GIO underneath. This package contains the shared library for libdex.
LGPL-2.1-or-later
* Wed Sep 30 2026 Dominique Leuenberger <dimstar@opensuse.org>
- Update version dependencies according to meson.build.
* Sun Sep 13 2026 Bjørn Lie <bjorn.lie@gmail.com>
- Update to version 1.2.0:
+ Testsuite additions to validate implementation
* Sun Aug 02 2026 Bjørn Lie <bjorn.lie@gmail.com>
- Update to version 1.2.beta:
+ DexStateMachine transition callbacks now use
DexStateTransitionContext, allowing callbacks to inspect
transition edges, publish intermediate states, and continue
directly through another edge
+ Add dex_state_machine_wait_for_state(),
dex_state_machine_get_requested_state(), and cooperative
transition interruption with dex_state_machine_interrupt() and
dex_state_transition_context_wait_for_interrupt()
+ Rework thread-pool work stealing so idle workers can sleep
instead of continuously scanning their peers, while improving
work distribution and fixing queue sizing and worker-set
lifetime issues
+ Fix using libdex as a Meson subproject with GDBus code
generation enabled
+ Remove incorrect G_GNUC_CONST annotations for compatibility
with newer GCC
+ Expand state-machine, scheduler, and thread-pool documentation
and tests providing a simple API to track state machine
transitions, including in-fiber transition continuations with
DexStateTransitionContext and requested state tracking.
* Thu Jul 02 2026 Bjørn Lie <bjorn.lie@gmail.com>
- Update to version 1.2.alpha:
+ This is an alpha release for the upcoming GNOME 51.
+ Dropped the gconstructor for `dex_init()` which means
applications must call `dex_init()` at startup themselves from
`main()`.
+ New DexLimiter API for bounded concurrency with explicit
acquire/release, automatic permit management while running
fibers, and close/reject behavior for queued work
+ New timeout wrappers for futures: dex_future_with_timeout(),
dex_future_with_timeout_msec(),
dex_future_with_timeout_seconds(), and
dex_future_with_deadline()
+ Additional GFile async wrappers for temporary directories, copy
with progress, trash, append, partial content loading, byte
loading, filesystem info queries, default handler lookup,
enclosing mount lookup, display-name changes, read/write
open/create/replace variants, string content replacement, and
symbolic link creation
+ Additional GIO async wrappers for GAppInfo, GDataInputStream,
GOutputStream, GSocketClient, GSocketConnection,
GTlsConnection, GDtlsConnection, GResolver, GNetworkMonitor,
GProxy, GProxyResolver, GSubprocess, GTlsDatabase,
GTlsInteraction, GPermission, and GUnixConnection
+ New DexCoroutine stackless future type with helpers for
suspending on pending futures, plus
dex_scheduler_spawn_coroutine()
+ New DexTaskGroup API for structured concurrency with close,
cancel, and cancel-on-error behavior
+ New DexThreadPool API for bounded threaded work queues
+ New dex_limiter_run_on_pool(), dex_limiter_run_coroutine(), and
dex_limiter_close_after_drain()
+ New dex_aio_open() and dex_aio_close()
+ New dex_fiber_yield()
+ New DEX_DEFINE_CLOSURE_TYPE() helper for closure-like state
structs
+ New dex_set_object() helper and DexObject property support for
DexFuture values
+ New dex_promise_resolve_enum()
+ New DexStateMachine API to simplify asynchronous state machines
with fibers providing a simple API to track state machine
transitions
+ Future debug names are now enabled by default when compiling
with GCC and fibers emit Sysprof marks for their duration
+ Fix DexObject weak-reference retargeting to avoid a possible
lock inversion during finalization
+ Fix DexChannel receive_all() to unblock queued senders after
draining bounded channel capacity
+ Fix DexDelayed chaining so release waits for the wrapped future
in the correct direction
+ DexPosixAioBackend now delays threadpool startup until the
first work item is enqueued.
+ Make DexSemaphore user-space only
+ Build system fixes for gio-unix dependency propagation
+ Fix clang testsuite compatibility around atomic addition
+ Documentation additions for limiters, timeout-gated futures,
coroutines, task groups, thread pools, schedulers, debugging,
and GIO wrappers
+ Testsuite additions for limiters, timeout passthrough behavior,
delayed futures, channel receive_all(), weak-reference
retargeting, GIO wrappers, AIO, coroutines, fibers, task
groups, thread pools, DexObject, and DexTest helpers
* Mon Apr 06 2026 Federico Mena Quintero <federico@suse.com>
- Update suse_version macro for 1610 (jsc#PED-15830)
* Mon Mar 23 2026 Dominique Leuenberger <dimstar@opensuse.org>
- Migrate to xz compression and manual service run
* Tue Mar 17 2026 Bjørn Lie <bjorn.lie@gmail.com>
- Update to version 1.1.0:
+ No changes, stable bump only.
* Tue Feb 24 2026 Dominique Leuenberger <dimstar@opensuse.org>
- Update to version 1.1.rc:
+ Require GLib 2.87.0
* Mon Feb 16 2026 Dominique Leuenberger <dimstar@opensuse.org>
- Update to version 1.1.alpha:
+ New D-Bus support with DexDBusInterfaceSkeleton for dispatching
method invocations in fibers, allowing async/await in D-Bus
handlers
+ New dex_bus_own_name_on_connection() for managing bus name
ownership
+ New DexFutureListModel for integrating futures with GListModel
+ Python asyncio integration allowing Dex.Future to be used with
async/await in Python code
+ New runtime version query API: dex_get_major_version(),
dex_get_minor_version(), and dex_get_micro_version()
+ New GIO wrappers: dex_file_create(),
dex_data_input_stream_read_line(), dex_find_program_in_path(),
dex_mkdir_with_parents(), and g_unlink()
+ Improved Visual Studio and clang-cl build support with C11
atomic support
+ Thread pool scheduler now falls back to POSIX backend for AIO
when necessary
+ io_uring context reuse improvements
+ Extensive documentation improvements with gi-docgen annotations
+ Various bug fixes and memory leak fixes
* Sun Aug 31 2025 Bjørn Lie <bjorn.lie@gmail.com>
- Update to version 1.0.0:
+ New dex_thread_spawn() and dex_thread_wait_for() APIs which
make it easier to integrate with a non-dex scheduled thread
+ Add dex_value_dup_object()
+ Add dex_async_initable_init()
+ Add dex_dbus_connection_close()
+ Add dex_file_set_attributes()
+ Various testsuite improvements
+ Ensure a full-barrier before giving callers access to a newly
created thread pool scheduler via `get_default()`
+ Various documentation additions and fixes
+ Add async variant of `g_file_query_file_type()`
+ Add async variant of `g_file_move()`
+ Depend on gio-unix when not on Windows
+ src: add various missing function documentation
+ doc: add some documentation for overview
+ libdex: fix unnecessary extern "C"
+ build: fix building as subproject by moving global arguments
+ Libdex has now reached our ceremonial 1.0 for GNOME 49.
* Sat Jun 28 2025 Bjørn Lie <bjorn.lie@gmail.com>
- Update to version 0.10.1:
+ Fix autoptr usage
+ Raise critical on finalization of thread-pool-scheduler which
should not happen in proper usage of libdex
+ Avoid extra pointer chase when dispatching to thread pool
workers
+ Don't dispatch blocks while on fibers, wait for scheduler
+ Fix leak of unix signal futures
+ Improve management of fiber run queues
* Tue May 27 2025 Yifan Jiang <yfjiang@suse.com>
- Add disable-test-semaphore.patch to temporarily disable the unit
test. It could be hardware related since the same package in the
branch built successfully on local hardware (bsc#1242053).
* Sun Mar 16 2025 Bjørn Lie <bjorn.lie@gmail.com>
- Update to version 0.10.0:
+ Discard dependent futures if fiber was cancelled during await.
+ Discard dependent futures when finalizing DexBlock.
* Tue Feb 25 2025 Bjørn Lie <bjorn.lie@gmail.com>
- Update to version 0.9.1 (Unstable):
+ Improve build checks for libatommic
+ Add dex_promise_resolve_boxed()
+ Improve cancellation of fibers
+ Use libucontext when necessary
* Sat Jan 25 2025 Bjørn Lie <bjorn.lie@gmail.com>
- Update to version 0.9.0 (Unstable):
+ 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
* Sat Oct 19 2024 Bjørn Lie <bjorn.lie@gmail.com>
- Update to version 0.8.1:
+ Fix disabling of assertions in production builds
* Tue Sep 17 2024 Bjørn Lie <bjorn.lie@gmail.com>
- Update to version 0.8.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++.
* Mon Jun 03 2024 Dominique Leuenberger <dimstar@opensuse.org>
- Update to version 0.6.1:
+ Adds Fiber support for macOS on Apple Silicon.
* Fri Mar 15 2024 Dominique Leuenberger <dimstar@opensuse.org>
- Update to version 0.6.0:
+ No changes since 0.5.1.
* Mon Mar 04 2024 Dominique Leuenberger <dimstar@opensuse.org>
- Update to version 0.5.1:
+ Add convenience API for checking exact future status without
enum.
+ Lots of documentation additions.
* Tue Feb 13 2024 Dominique Leuenberger <dimstar@opensuse.org>
- Update to version 0.5.0:
+ 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.
* Mon Oct 23 2023 Bjørn Lie <bjorn.lie@gmail.com>
- Update to version 0.4.1:
+ This release includes an important fix for how io_uring CQE are
handled.
* Sun Sep 17 2023 Luciano Santos <luc14n0@opensuse.org>
- Update to version 0.4.0:
+ Documentation updates.
* Wed Sep 06 2023 Luciano Santos <luc14n0@opensuse.org>
- Drop pkgconfig(sysprof-4) BuildRequires. This was only needed
because sysprof-capture-static-devel was lacking header files,
which was mistakenly being packaged with sysprof-devel, and it's
fixed now.
- Add with(out) "profiling" build switch and disable it, by
default, as profiling isn't meant for general use. This nests
pkgconfig(sysprof-capture-4) BuildRequires under an if-with
expression and passes profiler=(true|false) to meson, depending
on the profiling switch. Disabling this should also avoid a build
cycle introduced by Sysprof 45 by requiring libdex.
* Thu Aug 10 2023 Bjørn Lie <bjorn.lie@gmail.com>
- Update to version 0.3.1:
+ 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.
* Tue Jul 11 2023 Bjørn Lie <bjorn.lie@gmail.com>
- Update to version 0.3.0:
+ 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
* Fri Mar 17 2023 Bjørn Lie <bjorn.lie@gmail.com>
- Update to version 0.2.0:
+ 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`.
* Fri Mar 03 2023 Bjørn Lie <bjorn.lie@gmail.com>
- Update to version 0.1.1:
+ 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
* Mon Feb 27 2023 Bjørn Lie <bjorn.lie@gmail.com>
- Initial packaging for openSUSE.
/usr/lib64/libdex-1.so.1 /usr/lib64/libdex-1.so.1.0.0 /usr/share/licenses/libdex-1-1 /usr/share/licenses/libdex-1-1/COPYING
Generated by rpm2html 1.8.1
Fabrice Bellet, Sun Nov 1 22:53:05 2026