Fixed-price framework upgrades

Your upgrade, done. Tests passing. Fixed price.

We move PHP, Laravel, Node.js, Python, Django and Rails codebases off end-of-life versions and deliver a pull request that passes your own test suite. From $1,500, or your money back.

Get a free upgrade scan See pricing

No sales call. Your report and fixed quote arrive within one business day.

Example pull request Ready for review
Upgrade PHP 8.1 to 8.4
upgrade/php-8.4 → main
Dependencies updated
Breaking changes fixed
Your test suite: passing
Upgrade notes in plain English
You review and merge. If anything breaks within 30 days, we fix it free.

Security support ends soon

After these dates, new vulnerabilities in these versions stop being patched.

Oct 31, 2026 Python 3.10
Nov 7, 2026 Ruby on Rails 8.0
Dec 31, 2026 PHP 8.2
Already unsupported PHP 8.1, Node.js 20, Django 4.2, Laravel 11, Rails 7.2

How it works

Three steps, no meetings

  1. 01

    Request a free scan

    Tell us your repository, current version and target. We report exactly what will break and send a fixed quote within one business day.

  2. 02

    Pay and invite us

    Pay by card, then invite our GitHub account to the repository. We never need production access, passwords or secrets.

  3. 03

    Review and merge

    You get a pull request that passes your tests, with plain-English notes on every change. Merge when you're ready; we remove our access.

What we upgrade

Any supported version to the current one, in a single order. Larger jumps are split into a series of smaller pull requests.

PHP & Laravel Node.js Python & Django Ruby & Rails

Coming soon: .NET, Java, Angular, React and Next.js.

Pricing

One price, set by the size of your code

Full pricing and what's included

Small

Under 20,000 lines $1,500 Delivered in 3 to 5 days

Standard

Most teams
20,000 to 100,000 lines $4,500 Delivered in 1 to 2 weeks

Large

100,000 to 250,000 lines $12,000 Delivered in 2 to 4 weeks

Keep Current plan, $400 a month

Monthly dependency and security updates, plus your next major upgrade each year. For codebases up to 100,000 lines.

Compare plans

Passes your tests, or you don't pay

If the pull request doesn't pass your existing test suite and build, or you reject it within 14 days, you get a full refund. After you merge, we fix any regression caused by the upgrade for 30 days, free.

Cheaper than your own team's time, faster than an agency

Doing it in-house

Often one to four weeks of an engineer who should be building your product.

Hiring an agency

Hourly billing, weeks of scoping, and quotes that often run into tens of thousands.

Dependency bots

They bump version numbers for free, but leave you to fix everything that breaks.

Questions

How is the work actually done?

We use an AI-assisted upgrade process. Every change is checked against your own test suite and build, and nothing reaches your main branch until your team reviews and merges it.

Do you need access to production or secrets?

No. We only need read and write access to the repository, granted by inviting our GitHub account. Remove it the moment you've merged.

What if our codebase has no tests?

The scan will tell you. We can add tests around the code the upgrade touches as part of a custom quote, or we'll tell you honestly that we're not the right fit.

What happens if something breaks after we merge?

Tell us within 30 days and we fix any regression caused by the upgrade at no cost.

Who is behind Unstale?

[Your name], founder. Write to hello@unstale.dev with any question before you order.

Find out what your upgrade will take

A free report on what breaks, and a fixed price, within one business day.

Get a free upgrade scan