-
-
Notifications
You must be signed in to change notification settings - Fork 102
Description
#23 discusses a fundamental shift in Fiber scheduling which is implemented in #111 which may warrant a major version bump, even if Async
and its "public" interfaces are largely the same and work almost the same way.
My general thought right now is one of:
- Async 1.x -> current approach, Async 2.x -> Ruby 3+ only.
- Async 1.29.x -> current approach, Async 1.30.x -> Ruby 3+ only.
The core Async
interface is almost the same, the semantic model is almost the same. I ran external tests and most of my systems work the same on async master and this proposed branch. So, from the outside, it looks largely the same. The main issue would be whether bundler can figure out to us 1.29 on Ruby < 3.0 which sadly I don't think is true.
Therefore, I think it might be pragmatic to release Async 2.x and really polish the interfaces with all the knowledge we gained during 1.x and Ruby 3. I still need to think about it.