Upgrade a dependency

Bump a library, fix what breaks and open a pull request.

Engineering · Software · When you ask · Updated

Works with

  • Slack
  • Email

How do you upgrade a dependency?

To upgrade a dependency, ask Maito in Slack which library and version. It reads the release notes, bumps it on a branch, fixes the code that breaks, runs your tests and build, then opens a pull request listing each change. It also flags requirements like a newer Node version in your CI setup.

How it's done today

Upgrades get put off until they're painful.

What Maito does

  1. Read the release notes
  2. Upgrade and fix breaking changes
  3. Run tests
  4. Open a PR

Example

eng-web
Alex 4:10 PM

@Maito upgrade React Router to the latest version.

Maito APP 4:38 PM

PR #918 is open: React Router 6.22 to 7.9. 187 tests pass, build is green. What broke and how I fixed it: • Imports moved from react-router-dom to react-router: 4 files • 2 loaders used the removed json() helper and now return plain objects 6 files changed in total, plus the lockfile. Catch: this version needs Node 20, and our CI workflow still runs Node 18. I changed .github/workflows/ci.yml to 20. If your deploy image is on 18, it needs the same bump before you merge. From the release notes and the migration guide. Nothing is merged. Want me to check the deploy config for the Node version?

Example complete

How to set it up

When you ask Upgrade a dependency
Set up

Nothing to set up. Ask in Slack or by email whenever you need it.

What it won't do

It tests what your tests cover. Behavior with no test, or problems in production only, can still appear after the upgrade.

Questions

More engineering workflows

See all workflows

Put your AI teammate to work.

Set it up in minutes. Start with this one, and let it earn the next one.