# Package upgrades

An upgrade is a change to `jadpo.lock` and `packages/`, reviewed like any
other change, its `surface.jadpo_record` diff included. The review
compares the provider operations and library declarations your app uses,
matched by package, resource and operation with the version ignored. So a
call moved from one version's connection to the next is compared, not
listed as removed and added.

- **Needs a person:** a used operation removed; a used field removed or
  retyped; a new failure on a used operation; a host or credential scheme
  changed; a service's image new or changed; a package installed from a
  third party's git repository.
- **Doesn't need a person:** new operations or optional fields,
  documentation, and changes to operations your app never calls.
- **Shown, without needing a person:** a new `outbound:` grant to a
  service, a new connection, a package from your own company's git
  repository.

`jadpo package update <name>` prints this part of the review. It is the
same output as the upgrade plan [Integrations](external-services.md)
refers to, not a separate format.
