Move the versions you have already chosen across every eligible repository.
Turn one approved framework, runtime or library move into a tested change for every eligible repository while product teams stay on dated work. Your reviewers decide what merges and releases.
Reign Ops · Available today. Reign Factory · Available · Beta Release.
Why upgrade work keeps slipping.
An upgrade backlog is not a knowledge problem and it is rarely a priority failure. It is a class of work that is individually small, collectively enormous, and always safe to move to the next quarter.
There is no quarter in which upgrading a framework across forty repositories beats the commitment the business already announced. The decision is right each time it is taken and wrong in aggregate. That is a structural problem.
And it is a quarter of work that produces no new capability, which is why it is hard to staff and harder to defend.
Teams that defer upgrades are not being lazy. They are pricing in a real and measured breakage risk against a benefit that is frequently theoretical — and most of the queue is not reachable in their code anyway.
The gap is not stable. Each deferral makes the next move larger, because a jump across two major versions is a different piece of work from a jump across one — and support windows close on their own schedule regardless.
The breakage and reachability figures are Endor Labs, Dependency Management Report, 12 September 2024, measured across the Java, Python, Rust, Go, C#, .NET, Kotlin and Scala ecosystems: 75% of dependency-vulnerability patches cause breakages, 24% require a major version upgrade, and 90.5% of open-source vulnerabilities are not reachable at function level. We have not found a 2025 or 2026 restatement of these figures; the Endor Labs November 2025 edition covers different ground. The drift figure is Datadog, State of DevSecOps 2026, 26 February 2026, measured on thousands of applications across customer cloud environments. None of these figures is an iTmethods measurement.
If iTmethods operates your GitLab, Bitbucket, Jira or Camunda under Reign Ops, keeping that instance current is part of that service. It is scheduled through your change process, it is not a Factory engagement, and there is nothing extra to buy. Reign Ops even publishes upgrade currency — the share of operated instances held within a stated number of releases of current — as the measure it is willing to be held to.
This page covers the other half: the framework, runtime and library versions your own applications are pinned to, inside your own repositories. Reign Ops upgrades the instance. Reign Factory upgrades what runs on it.
A managed platform upgrade produces a completed change record with its validation result and open items. An application-code upgrade produces a tested merge request in each repository, carrying the target version, check results, differences and open issues.
What you gain.
Unsupported platforms, dependencies approaching end of support and versions affected by a relevant vulnerability move first, toward target versions you approve.
Every repository in the population reaches review against the same approved target, checks and rollback conditions.
Product teams keep dated work moving while eligible upgrades advance in parallel. They step in where product knowledge or a design decision is required.
You see what has been upgraded, what is in review, what failed a required check and what is still on an older version, with the reason and the owner on each.
Repeat the move without lowering the review bar.
Once you approve the move and population, each repository follows the same review path. Upgrades run on the same delivery path as remediation and delivery the business is waiting on; only the work changes. The path suits upgrades because the move is decided once and the cost is in the repetition — and repetition is what the path absorbs.
The only figures we publish about this way of working are our own. Across eight of our own repositories, 326 merge requests were merged. Median time from merge request open to merge was 19 hours. 326 of 326 merged with a recorded approval from a named iTmethods engineer. Measured on our own engineering, 11 July to 11 August 2026, GitLab, release commits excluded, internal environment only, two-person team. The method is written up in full at what we measured. It is not a customer result.
A version move is a governed change like every other change.
Nothing about this population gets a separate route. Model calls sent through Reign Gateway on the way to each merge request are recorded there; the merge request itself enters the pipeline every other commit enters. A bulk change across forty repositories is exactly the shape of work an organization is tempted to fast-track.
Your approval path still governs every change.
You retain eligibility, review, merge and release decisions. Factory attempts only the approved population and records exceptions.
| Who | What they hold |
|---|---|
| Reign Factory, automated | Attempt the move in each eligible repository. Open one merge request per repository, sized for review. Run the checks that repository already runs and report what they said. Carry the record of what was tried and under which policy. |
| Customer authored | Which move, and which repositories are in and out of scope. The eligibility rules. Your branch, review and release policy, unchanged. Every merge decision. Whether the set is attempted in one pass or in waves. |
| Operating partner engagement | The named engineer embedded for the move. The repositories that came back declined, and why. The judgement about whether the remaining set is worth attempting at all. |
FAQ
We already pay you to run GitLab. Is upgrading not included?
Can we buy this today?
What if the upgrade breaks something?
Do you do end-of-life runtime moves as well as library bumps?
Will this reduce our vulnerability count?
How do you keep forty merge requests consistent?
Which deployment shapes can we have?
Start with the versions carrying the greatest operational or security exposure.
Tell us which upgrade keeps slipping and what makes it a priority. We will use the first conversation to identify the applicable path and a useful starting population.