flow php

UNIFIED DATA PROCESSING FRAMEWORK

composer require flow-php/etl ~0.12.0

Changelog

elephant
extract

Extracts

Read from various data sources.

arrow
transform

Transforms

Shape and optimize for your needs.

arrow
load

Loads

Store and secure in one of many available data sinks.

Edit external resource

Flow PHP - Release Cycle


As of writing this article, Flow PHP is at version 0.11.0, consisting of over 26 independent repositories, developed within a monorepo.

Up until now, the release cycle hasn’t been standardized in any way and has largely relied on gut feeling. A gut feeling of "that’s enough" or "not yet"...

New Release Cycle


From this point onward, we will aim to release Flow PHP once every 2 weeks.
This cycle won’t change until the release of version 1.0, which doesn’t yet have a scheduled date.

Although Flow PHP doesn’t yet have a stable 1.0 release, there shouldn’t be any issues with using it in production.
The only recommendation is to avoid relying on the 1.x-dev version.

Exceptions to the rule of releasing a new version every 2 weeks are critical security fixes and bug fixes.
In the case of critical security patches, a new version will be released immediately.
The same applies to more problematic bugs.

For now, all 0.x.x tags are published on the 1.x branch. As a result, if several changes are introduced and are awaiting the next release, a situation might arise that forces us to release a new version earlier than planned.
This will shift the next release to realign with the 2-week cycle.

In the case of critical bugs or security issues that can’t wait for the next release, we’ll aim to publish them as patch releases, such as 0.11.1 or 0.11.2.

Upcoming Releases

Date Version Branch
2025-03-17 0.12.0 1.x
2025-03-31 0.13.0 1.x
2025-04-14 0.14.0 1.x
2025-04-28 0.15.0 1.x
2025-05-12 0.16.0 1.x
... 0.x.0 1.x
.... 1.0.0 1.0

How to Treat Specific Releases

Until the release of version 1.0, all releases are considered beta. This means the API may still change.
We’re doing our best to minimize API changes and maintain documentation of those changes, which should make migrations between versions smoother.

How to understand releases

Heads up

If you still decide to use the 1.x-dev version, you should be aware that changes introduced between the two-week releases might be completely removed or entirely altered.

We recommend setting the requirement in your composer.json file to ~0.11.0, which will prevent automatic updates beyond the 0.11.x versions.

To automate the update process, you can use tools like Dependabot or Renovate. These tools will automatically create a pull request with the update to version 0.12.0 once it’s released, also showing the changes introduced between versions.

If you decide to use the 1.x-dev version, you should be aware that you should also require all dependencies of given package to be on the 1.x-dev version.
Otherwise you might get flow-php/etl:1.x-dev but flow-php/filesystem:0.11.0.

Contributors

Join us on GitHub external resource
scroll back to top