Skip to content

Releases: socketry/async

v2.42.0

Choose a tag to compare

@ioquatix ioquatix released this 02 Jul 04:49
677a3a1
  • Sync and Async can now be invoked from a non-blocking fiber that has no scheduler (e.g. inside an Enumerator or a bare Fiber.new). Previously this raised RuntimeError: Running scheduler on non-blocking fiber!. The reactor is now run within Fiber.blocking, so the scheduler always runs on a blocking fiber.

v2.41.0

Choose a tag to compare

@ioquatix ioquatix released this 28 Jun 07:20
32428cf
  • Fixed: Protect initial task from Interrupt exceptions.

v2.40.0

Choose a tag to compare

@ioquatix ioquatix released this 24 Jun 02:18
d4930f4
  • Introduce Async::Condition#waiting_count. This allows you to see how many tasks are currently waiting on the condition, which can be useful for debugging and monitoring purposes.

v2.39.0

Choose a tag to compare

@ioquatix ioquatix released this 05 Apr 12:59
886d62c
  • Async::Barrier#wait now returns the number of tasks that were waited for, or nil if there were no tasks to wait for. This provides better feedback about the operation, and allows you to know how many tasks were involved in the wait.

v2.38.1

Choose a tag to compare

@ioquatix ioquatix released this 17 Mar 20:32
975b9fa
  • Fix Barrier#async when parent.async yields before the child block executes. Previously, Barrier#wait could return early and miss tracking the task entirely, because the task had not yet appended itself to the barrier's task list.

v2.38.0

Choose a tag to compare

@ioquatix ioquatix released this 08 Mar 09:17
9182cde
  • Rename Task#stop to Task#cancel for better clarity and consistency with common concurrency terminology. The old stop method is still available as an alias for backward compatibility, but it is recommended to use cancel going forward.
  • Forward arguments from Task#wait -> Promise#wait, so task.wait(timeout: N) is supported.

v2.37.0

Choose a tag to compare

@ioquatix ioquatix released this 08 Mar 09:17
38238d3
  • Introduce Async::Loop for robust, time-aligned loops.
  • Add support for Async::Promise#wait(timeout: N).

v2.21.1

Choose a tag to compare

@ioquatix ioquatix released this 21 Dec 22:31
367745d

What's Changed

  • Worker pool for efficient handling of blocking_operation_wait. by @ioquatix in #359
  • Add test coverage for worker pool. by @ioquatix in #362

Full Changelog: v2.21.0...v2.21.1

v2.14.2

Choose a tag to compare

@ioquatix ioquatix released this 24 Jul 05:24
9942abd

Full Changelog: v2.14.1...v2.14.2

v2.12.0

Choose a tag to compare

@ioquatix ioquatix released this 23 Jun 03:06
253b79d

What's Changed

Full Changelog: v2.11.0...v2.12.0