Index index by Group index by Distribution index by Vendor index by creation date index by Name Mirrors Help Search

libdex-1-1-1.2.0-1.1 RPM for x86_64

From OpenSuSE Tumbleweed for x86_64

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.

Provides

Requires

License

LGPL-2.1-or-later

Changelog

* 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.

Files

/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