Upgrade Your Managed Package
Salesforce supports upgrades for managed packages only. Providers can publish an upgrade for a managed package and notify installers that the new version is available.
Required Editions
| Available in: Salesforce Classic (not available in all orgs) |
| Available in: Group, Professional, Enterprise, Performance, Unlimited, and Developer Editions |
| User Permissions Needed | |
|---|---|
| To upload packages: | Upload AppExchange Packages |
| To install and uninstall packages: | Download AppExchange Packages |
To install a new version of a managed package, review the list of new items included in the upgraded package.
Note Some package items, such as validation rules or
record types, don't display in the Package Item list but are included in the
package and install with the other items. If there are no items in the
Package Items list, the package contains only minor changes not recorded in
the Package Items list.
Installers of a managed package can then install the upgrade as follows:
- Then, install the upgrade in the same way you install any other package from the AppExchange. If the publisher provided a link to the new version, follow the link to the package posting and install it in your organization. The first page of the install wizard lists the current version you have installed, the version you’re about to install, and a list of additional components included in the new version.
Considerations for Upgrading Managed Packages
Consider the following when upgrading a managed package:
- All existing custom objects that were previously deployed are still deployed. Salesforce prompts you to deploy any new custom objects or previously undeployed custom objects.
- Profile settings for components in a package are editable by the customer but not upgradeable by the package developer. If the developer changes any profile settings after releasing the package, those changes won’t be included in an upgrade. Customers will need to manually update the profile settings after upgrading the package. In contrast, permission sets in a package are upgradeable by the developer, so any changes the developer makes will be reflected in the customer organization after upgrading the package.
- If the developer chooses to add universally required custom fields, the fields have default values.
- If an installed package has Restricted API access, upgrades are successful only if the upgraded version does not contain any s-controls. If s-controls are present in the upgraded version, you must change the currently installed package to Unrestricted API access.
- When you upgrade a package, changes to the API access are ignored even if the developer specified them. This behavior ensures that the administrator installing the upgrade has full control. Installers should carefully examine the changes in package access in each upgrade during installation and note all acceptable changes. Then, because those changes are ignored, the admin should manually apply any acceptable changes after installing an upgrade.
Did this article solve your issue?
Let us know so we can improve!

