Skip to content

Commit f75b823

Browse files
committed
Bump minor version.
1 parent 5d49d99 commit f75b823

File tree

3 files changed

+20
-14
lines changed

3 files changed

+20
-14
lines changed

lib/async/version.rb

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,5 +4,5 @@
44
# Copyright, 2017-2025, by Samuel Williams.
55

66
module Async
7-
VERSION = "2.28.1"
7+
VERSION = "2.29.0"
88
end

readme.md

Lines changed: 10 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -35,6 +35,16 @@ Please see the [project documentation](https://socketry.github.io/async/) for mo
3535

3636
Please see the [project releases](https://socketry.github.io/async/releases/index) for all releases.
3737

38+
### v2.29.0
39+
40+
This release introduces thread-safety as a core concept of Async. Many core classes now have thread-safe guarantees, allowing them to be used safely across multiple threads.
41+
42+
- Thread-safe `Async::Condition` and `Async::Notification`, implemented using `Thread::Queue`.
43+
- Thread-safe `Async::Queue` and `Async::LimitedQueue`, implemented using `Thread::Queue` and `Thread::LimitedQueue` respectively.
44+
- `Async::Variable` is deprecated in favor of `Async::Promise`.
45+
- [Introduce `Async::Promise`](https://socketry.github.io/async/releases/index#introduce-async::promise)
46+
- [Introduce `Async::PriorityQueue`](https://socketry.github.io/async/releases/index#introduce-async::priorityqueue)
47+
3848
### v2.28.1
3949

4050
- Fix race condition between `Async::Barrier#stop` and finish signalling.
@@ -81,12 +91,6 @@ Please see the [project releases](https://socketry.github.io/async/releases/inde
8191
- [Use `IO::Event::WorkerPool` for Blocking Operations](https://socketry.github.io/async/releases/index#use-io::event::workerpool-for-blocking-operations)
8292
- [Better handling of `IO#close` using `fiber_interrupt`](https://socketry.github.io/async/releases/index#better-handling-of-io#close-using-fiber_interrupt)
8393

84-
### v2.24.0
85-
86-
- Ruby v3.1 support is dropped.
87-
- `Async::Wrapper` which was previously deprecated, is now removed.
88-
- [Flexible Timeouts](https://socketry.github.io/async/releases/index#flexible-timeouts)
89-
9094
## See Also
9195

9296
- [async-http](https://github.com/socketry/async-http) — Asynchronous HTTP client/server.

releases.md

Lines changed: 9 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
# Releases
22

3-
## Unreleased
3+
## v2.29.0
44

55
This release introduces thread-safety as a core concept of Async. Many core classes now have thread-safe guarantees, allowing them to be used safely across multiple threads.
66

@@ -12,12 +12,14 @@ This release introduces thread-safety as a core concept of Async. Many core clas
1212

1313
This release introduces the new `Async::Promise` class and refactors `Async::Task` to use promises for state management internally. This architectural improvement achieves the design goal that "a task should be a promise with attached computation and cancellation handling."
1414

15-
- **Thread-safe promise implementation** with immutable state transitions.
16-
- **Consistent state management** using symbols: `:completed`, `:failed`, `:cancelled`.
17-
- **Promise cancellation** with `cancel()` method and `Cancel` exception class.
18-
- **Comprehensive test coverage** with 47 new test cases covering all edge cases.
15+
- **Thread-safe promise implementation** with immutable state transitions.
16+
- **Consistent state management** using symbols: `:completed`, `:failed`, `:cancelled`.
17+
- **Promise cancellation** with `cancel()` method and `Cancel` exception class.
18+
- **Comprehensive test coverage** with 47 new test cases covering all edge cases.
1919

20-
```ruby
20+
<!-- end list -->
21+
22+
``` ruby
2123
require 'async/promise'
2224

2325
# Basic promise usage - works independently of Async framework
@@ -44,7 +46,7 @@ Promises bridge Thread and Fiber concurrency models - a promise resolved in one
4446

4547
The new `Async::PriorityQueue` provides a thread-safe, fiber-aware queue where consumers can specify priority levels. Higher priority consumers are served first when items become available, with FIFO ordering maintained for equal priorities. This is useful for implementing priority-based task processing systems where critical operations need to be handled before lower priority work.
4648

47-
```ruby
49+
``` ruby
4850
require 'async'
4951
require 'async/priority_queue'
5052

0 commit comments

Comments
 (0)