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

malloryerik
Hi, this is for people who, like me, have had some friction using .html.heex templates in VSCode. The solution seems to be, in a hyphena...
New
WestKeys
Currently suffering from paralysis by [HTTP client] analysis. This is rather unusual in Elixirland as there tends to be consensus on the ...
New
greenz1
I have a phoenix application from which a user can download multiple(5-6) files of size 1MB. I couldn’t find anything related to sending ...
New
JeremM34
Hello, how can I check the Phoenix version ? Thanks !
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 43757 214
New
AngeloChecked
What learn first? Rust or Elixir Hi Elixir community! I’m here because i want learn a new language. I’m a junior developer and mainly i ...
New
vonH
When I run the Plug and I recompile I wind up having to use Ctrl C to quit iex and start again. Witht the help of rlwrap I can use the cu...
New
bsollish-terakeet
Credo is smart enough to check for (something like) this: assert length(the_list) == 0 with this response: Checking if an enum is empt...
New
AstonJ
Seen any cool LiveView demos, sample apps or examples? Please post them here! :003:
New
lanycrost
Hi everyone! I need implement if…else if…else condition from my elixir code, and anymore of this control flow structures not work proper...
New

Latest on Elixir Forum

Elixir Forum

We're in Beta

About us Mission Statement