Salesforce API Version & CLI Retirement Lint

Finds retired API versions and removed sfdx force:* commands in your DX repo before a deploy or a CI run fails with 410 GONE.

Find a tool

Get the complete version $29

This page is the working piece. The full pack has everything below.

Finds retired API versions and removed sfdx force:* commands in your DX repo before a deploy or a CI run fails with 410 GONE.

Salesforce DevOps platforms that flag this start at $79/user/month (Copado Essentials Basic) and $200/user/month (Gearset).

Buy the full version — $29
Want the full version?
Enter your email and we send the download link.

· ReadyStack

Worked example

Real numbers from this tool, line by line.

Salesforce API Version & CLI Retirement Lint

Five lines. That is the whole list of what a Salesforce DX consultant in the UK has to change in this GitHub Actions file before it will deploy again - and three of the five stopped working on dates that have already passed.

- run: npm install -g sfdx-cli
- run: sfdx force:auth:jwt:grant --clientid $CID --jwtkeyfile server.key
- run: sfdx force:source:deploy --sourcepath force-app --targetusername ci --checkonly
- run: sfdx force:apex:test:run --testlevel RunLocalTests --resultformat human --loglevel DEBUG

None of that is a style problem. Platform API versions 21.0 through 30.0 were retired in the Summer '25 release: REST now answers 410: GONE, SOAP answers 500: UNSUPPORTED_API_VERSION, and Bulk answers 400: InvalidVersion. Versions 31.0 through 40.0 are deprecated and retire in Summer '28 - every integration has to be on 41.0 or later by then. Separately, the SOAP login() call is retired in Summer '27 for versions 31.0 through 64.0. For scale: Summer '26 is API 67.0, Spring '26 was 66.0, Winter '27 is 68.0.

The CLI half is already past its date. Salesforce removed the force:source:*, force:mdapi:* and force:org:* commands from the Salesforce CLI on 6 November 2024; they do not run under sf (v2) at all. The sfdx-cli npm package is frozen at 7.209.6 and no longer receives weekly updates.

- run: npm install -g @salesforce/cli
- run: sf org login jwt --client-id $CID --jwt-key-file server.key
- run: sf project deploy start --source-dir force-app --target-org ci --dry-run
- run: sf apex run test --test-level RunLocalTests --result-format human

Asking a chatbot does not catch this, and the reason is structural: the assistants were trained on posts written while v29.0 and force:source:deploy were still correct, so they hand them back with confidence. And no chatbot can open the hundreds of -meta.xml files sitting in your repository.

SFDX Retirement Lint runs 81 rules inside VS Code over the file you have open - 10 on API version numbers and endpoint paths, 62 on commands removed from the CLI, 8 on renamed or dropped flags, and one on the frozen npm package. Each finding prints the line number, the error code the platform will return, and the sf-style replacement to type. That is free and asks for no key: paste sfdx-project.json into the free web page, or open the file in the editor, and you get the complete verdict on it.

A licence adds the parts that are a different job, not a bigger portion of the same one: the scan over the whole repository instead of the open file, in-place rewriting of the removed commands and flags, CI JSON so the build fails instead of the deploy, and CSV/JSON/HTML export for a team.

One deliberate limit, stated up front: version numbers are reported for a manual edit and are never rewritten for you. Bumping an API version can change behaviour, and a linter that silently edits your metadata is worse than the problem it found. Commands and flags are mechanical, so those it will rewrite.

$29 once. The Salesforce DevOps platforms that flag this bill per seat per month - Copado Essentials Basic from $79 per user per month, Gearset from $200 per user per month. Seven-day full refund.

Questions people ask

What does SFDX Retirement Lint actually do?

It reads a Salesforce DX file and reports every retired API version and every removed sfdx command in it, by line number. It ships 81 rules: API versions 21.0-30.0, which were retired at Summer '25, versions 31.0-40.0, which retire at Summer '28, and 70 sfdx-style commands and flags that stopped running under sf (v2) on 6 November 2024.

Who is this for?

Salesforce DX developers, ISV partners and consultancies who have inherited an org repository or a CI pipeline written before November 2024. If your project still has an old sourceApiVersion in sfdx-project.json, or a pipeline step that calls sfdx force:source:deploy, it is aimed at you.

Why not just ask ChatGPT or Copilot?

Because they were trained on posts written while v29.0 and force:source:deploy were still correct, so they hand both back to you with confidence. A chatbot also cannot open the hundreds of -meta.xml files in your repository. This runs inside your editor, over your real files, and the version rules carry the retirement release and the error code the platform returns.

What is free and what needs a licence?

Free, no key: the whole file you open or paste, checked against all 81 rules, with the line number, the platform error code and the sf-style replacement. A licence adds a different job: the scan across the whole repository, in-place rewriting of the removed commands and flags, CI JSON so the build fails instead of the deploy, and CSV, JSON or HTML export.

How does the price compare to paying for this?

It is $29 once, with a seven-day full refund and one licence key per person or team seat. The Salesforce DevOps platforms that flag this bill per seat every month instead: Copado Essentials Basic starts at $79 per user per month and Gearset starts at $200 per user per month.

Ask about this tool

One question, answered by the person who built it. Your email only if you want the answer sent.