# Bump the language runtime and clear the deprecated-API fallout

A runtime version bump, with the deprecated calls it surfaces fixed rather than silenced.

Category: Dependency and runtime upgrades
Source: https://letsship.ai/use-cases/bump-the-language-runtime
Published: 2026-08-25

## Goal

Move the project to a newer language runtime and fix the deprecated APIs the new version reports.

## Acceptance criteria

- CI runs green on the new runtime
- Deprecated calls the new runtime reports are replaced
- The version is pinned consistently across the manifest, CI, and the container image
- Nothing is silenced with a suppression flag

## What lands as proof

A green matrix on the new runtime and a diff showing each deprecated call replaced rather than muted.

## Prompt

Copy this to an agent to open the ticket:

```text
Create a Linear issue in my team and assign it to the SHIP agent.

Title: Move to {runtime} {version}

Description: Move the project to a newer language runtime and fix the deprecated APIs the new version reports.

Acceptance criteria:
- CI runs green on the new runtime
- Deprecated calls the new runtime reports are replaced
- The version is pinned consistently across the manifest, CI, and the container image
- Nothing is silenced with a suppression flag

Before you create the issue, check which runtime version this repository targets and which is current, then replace {runtime} and {version}. Note every file that pins the version.
```

## Questions

### What does the agent actually change?

The ticket is scoped to one outcome: move the project to a newer language runtime and fix the deprecated APIs the new version reports. Work that serves that outcome is in scope, and anything outside it is left for a separate ticket, so the pull request stays reviewable.

### How do I know the work is done?

The pull request carries the evidence, not only the diff. Here that means cI green across the new runtime matrix, so a reviewer can confirm the result without reproducing the work locally.

### How much oversight does this need?

The run stops once the plan is written. Somebody reads the approach and approves it before any code exists, which is the cheapest moment to redirect the work.
