Release Process Documentation Request

Hello Elastic team,

I’m a developer-turned-founder, currently running a software company. I’ve always appreciated the clarity and structure in how you manage development and releases—it’s something I’d like to adopt within our organization.

I searched around but couldn’t find much documentation on your internal release process. Is there any resource you can share?

Based on what I’ve observed (please correct me if I’m mistaken), your workflow for a single product seems to follow this pattern:

• Daily development happens on main.

• As a release approaches, a N.x branch is created.

• This branch is refined with release candidates and occasionally merged back into main.

• Meanwhile, ongoing feature work continues in main.

• The N.x branch goes through a few RC iterations.

• Once stable, it’s tagged as N.0.0 and binaries are published.

• The N.x branch remains active for the duration of its support window, then gets closed.

Would love to hear if there’s a more detailed or updated version of this flow.

Thanks!


That's pretty much it, yes, except:

We generally make changes in main and then backport them selectively. We don't merge the release branches back into main.

Also we cut a fresh branch for each minor release, not just the majors.

Also testing. So much testing.

There's not really anything more detailed that we could share - the actual process that happens internally involves a good deal of automation and cuts across the whole Elastic Stack at once so that we can keep everything on a common release numbering system and cadence. But from the perspective of a single product this is about it.

1 Like