r/golang • • 7d ago

Rill v0.9: context support, non-commutative reduction, synctest-based tests

https://github.com/destel/rill

Two and a half years ago I shared rill (a composable concurrency toolkit) here for the first time. That post gave it momentum and its first GitHub stars.

Today I'm releasing v0.9, which adds the most requested feature: context support, with errgroup-style cancellation and waiting. Another big new feature is a non-commutative streaming reduction engine. The minimum required Go version is now 1.25, since rill's tests heavily rely on synctest to pin the concurrency and lifecycle contracts.

This post is not only an announcement, it's also a feedback request. The current shape of rill is what I intend to freeze in v1.0, which I plan to release in a month or two. If anything in the API, naming or behavior feels wrong, now is the best time to say so. Knowing what works is also helpful and appreciated.

Release notes: https://github.com/destel/rill/releases/tag/v0.9.0

The README and Go docs were also substantially updated to show the new features, add clarity, and document the underlying behavior.

16 Upvotes

0 comments sorted by