Skip to main content

Saying Goodbye to Variable Graph V1

· 3 min read
Robert Loipfinger
Cirlce Lead Platform @ ADITO

Variable Graph V1 has been around for a long time.
If you have been building processes for a while, you have almost certainly used it, often without thinking much about it.

With release 2026.1, this changes. Variable Graph V1 is retired, and the platform automatically uses Variable Graph V2 instead.

No switches to flip. No migration project. But testing still matters.

This post explains why we are making this step and what is different with V2, without turning it into a theory lesson.

Why V1 has reached its limits

Variable Graph V1 has a very narrow view of dependencies. It only sees what is directly defined inside a single process.

That worked well for a long time. Modern setups rely heavily on libraries and shared logic. This is where V1 starts to struggle. Dependencies coming from libraries are mostly invisible to it.

As a result, the dependency graph is incomplete. That makes reliable optimizations difficult and eventually blocks further performance improvements. At some point, we hit a wall. V1 is that wall.

What makes Variable Graph V2 different

Variable Graph V2 is not new. It has existed for quite a while and is already used successfully in many projects. In most cases, it behaves the same as V1.

The important difference is not what it computes, but how it understands dependencies.

Instead of deciding everything upfront, V2 observes what actually happens at runtime. When values are evaluated, it records which variables and processes are accessed, regardless of whether they come from the current process or from a library.

In other words:
V1 guesses dependencies by looking at structure.
V2 learns dependencies by watching execution.

This dynamic approach gives us a much more accurate picture of real dependencies and finally enables the performance and scalability improvements we have been preparing for.

What this means for you

With 2026.1, systems will automatically run on Variable Graph V2. You do not need to change configuration or update existing processes.

Still, behavior in edge cases may differ. V2 sees dependencies that V1 never noticed, especially when libraries are involved. This can slightly change evaluation order or update behavior.

Because of that, testing remains important. Not as a migration task. It is a validation step to confirm that your processes behave as expected under the more accurate dependency model.

A calm goodbye

Variable Graph V1 served its purpose well. It fit the systems of its time.

Variable Graph V2 fits what we are building today and what we want to improve tomorrow.

Goodbye, V1.
And quietly, welcome, V2.

./Robert