josevalim

josevalim

Creator of Elixir

The future of GenStage and Flow

Hello everyone,

Last year we have announced GenStage and then developed Flow.

Our initial plan was to make GenStage part of Elixir. That’s why all of GenStage code is under an “Experimental” namespace. However, GenStage exceeded our expectations and has grown enough to stand on its own. Furthermore, Elixir v1.4 shipped with Registry and Task.async_stream, which solve some common scenarios one would use GenStage for.

For this reason, we have decided we will no longer include GenStage as part of Elixir’s standard library and instead continue developing and improving it as a separate project in the Elixir organization.

Therefore, the following changes will happen to GenStage over the next days:

  1. The Experimental namespace will be removed
  2. DynamicSupervisor will be renamed to ConsumerSupervisor (we will still include a DynamicSupervisor as part of Elixir but it won’t “talk” to GenStage)
  3. Flow will be moved to its own package that depends on GenStage
  4. We will release v0.11.0 for both projects

Other than that, our other plans for GenStage/Flow are the same as before.

Happy coding!

Most Liked

josevalim

josevalim

Creator of Elixir

GenStage and Flow 0.11.0 are out!

19
Post #2
DavidVII

DavidVII

For the lazy :slight_smile:

GenStage
Hex
Docs
GitHub

Flow
Hex
Docs
GitHub

12
Post #3

Where Next?

Popular in Notices Top

josevalim
Hello everyone, We had a discussion on elixir-lang-core about deprecating the use of ‘single quotes’ in Elixir for charlists. The use o...
New
josevalim
Hello everyone, Last year we have announced GenStage and then developed Flow. Our initial plan was to make GenStage part of Elixir. Tha...
New
josevalim
Hi everyone, With the v1.7 release, we have received reports of some dependencies no longer working properly on the new release. Develo...
New
ericmj
We are moving the builds for precompiled versions of Elixir, Erlang/OTP, and Hex itself. These are currently hosted on https://repo.hex.p...
New
josevalim
One common concern about using Elixir libraries is that use SomeModule does not make clear how it impacts the caller. While the goal of u...
New
josevalim
Hi everyone, I have updated Elixir’s wiki page on IDE/Editor support and I am now linking to it from the website. If you know of other ...
New
josevalim
Hi everyone, Elixir v1.19.0-rc.0 included a deprecation of the struct update syntax. However, we will ship with a different warning on E...
New

Other popular topics Top

yurko
Here are few pieces of (common) Linux knowledge that we use for reasonably small one server apps. We use Ubuntu but this should work for ...
New
senggen
Erlang/OTP 25 [erts-13.2.2] [source] [64-bit] [smp:8:8] [ds:8:8:10] [async-threads:1] 15:22:35.803 [error] gen_event {lager_file_backend...
New
joaquinalcerro
Hi there, I am working with Ecto-Postgresql and I need to call all of the records from a specific table but the table has 40,000 record...
New
axelson
This post is a wiki (feel free to hit the edit button near the bottom right of this post to add your own changes!) This post collects co...
239 45766 226
New
_russellb
I want to try my hand at web scraping. What tools/libraries do I need to use. I’m hoping to turn this into something professional so don’...
New
fireproofsocks
I’m working on defining a simple Ecto schema for a table (in PostGres), but I don’t see where I can define a column as NOT NULL. Conside...
New
alice
Hey, Just curious what are the main benefits of Elixir compared to Clojure? When is Elixir more useful than Clojure and vice versa? Th...
New
shahryarjb
Hello, I have map which I want to convert it to string like this: the map: %{last_name: "tavakkoli", name: "shahryar"} the string I ne...
New
msaraiva
Surface is an experimental library built on top of Phoenix LiveView and its new LiveComponent API that aims to provide a more declarative...
564 42633 214
New
jay1
Why is it that the mnesia database isn’t the most preferred database for use in Elixir/Phoenix?
New

We're in Beta

About us Mission Statement