Upgrades | MuleSoft Documentation
# Upgrades
Where possible, we changed noninclusive terms to align with our company value of Equality. We maintained certain terms to avoid any effect on customer implementations.  
---  
Upgrades are applied automatically to Anypoint API Community Manager versions 2.2.0 and later.
Upgrades with new features are applied to sandbox environments four weeks before they are applied to production environments. Upgrades with only bug fixes are applied to sandbox environments two weeks before they are applied to production environments.
To ensure that the community administrator controls how their audience receives community changes, new functionality in upgrades is typically disabled until the community administrator enables it.
Because API Community Manager follows the standard support policy for MuleSoft cloud offerings, only the latest version of API Community Manager 2.x is supported. Additionally, API Community Manager 1.x reached End of Life (EOL) on August 14, 2021.
For information about upgrade notifications, see important notifications.
## Upgrading to Version 2.7.0
Instead of using user profiles, API Community Manager now uses the following permission sets to define the visibility and access to external objects and Apex classes.
  * ACM Admin User
  * ACM Guest User
  * ACM Member User


For more information about using permission sets, see Permission Sets.
As part of the API Community Manager package, member user profiles are assigned to permission sets automatically. After the package is installed, a trigger searches for users with a Customer Community Profile and assigns the users to the **ACM Member User** permission set. For guest users, you must assign the **ACM Guest User** permission set using the API Community Manager Diagnostics or by manually adding the guest user profile to the permission set.
For custom profiles, you must update to the permission set after each release is installed. To avoid manual updates, assign the permission sets to custom profiles. After the new package is installed, the custom profiles are assigned to the permission sets automatically.
To create a new user, you must use the API Community Diagnostics or manually set the user profile to the corresponding permission set.
## Upgrading to Version 2.5.0
After installing the package for version 2.5.0, follow these steps:
  1. Manually update the administrator profile.
    1. Click **Setup** > **Profiles** > **System Admin** > **Apex Class Access** , add **ApiCuratorController** to enable **Apex Classes** , and **Save**.
    2. Add the new Member Management tab to Api Curator.
    3. Click **Interface Setup** > **User Management Settings** > **Disable Enhanced Profile User Interface** , change the **User Management Settings** , and disable the **Enhanced Profile User**.
    4. Click **Setup** > **Profiles** > **Edit** , scroll to **Custom Tab Settings** > **Member Management** > **Default On** , and **Save**.
    5. Click **Interface Setup** > **User Management Settings** > and enable **Enhanced Profile User Interface**.
  2. In each community, run the diagnostics and click "Fix all" to set permissions on all new objects.
  3. To use the new API discussion forum feeds, enable feed tracking.
    1. In each community, open **Setup** , in **Quick Find** search for "Feed Tracking" and select it, select the **CommunityApi** object, enable the option **Enable Feed Tracking** , and **Save**.
    2. In the builder, in the **Feed** component set **Feed Type** to **Group or Record** , and in the **Feed Publisher** component set **Feed Type** to **Record**.
    3. To configure which users are visible to other users in the API discussion forum feeds, optionally enable portal user visibility, site user visibility, or both.
      1. Optionally open **Setup** > **Sharing Settings** > **Organization-Wide Defaults** > **Edit** and enable **Portal User Visibility**.
Portal user availability enables portal users in the same customer or partner portal account to see each other, regardless of the organization-wide defaults.
      2. Optionally open **Setup** > **Sharing Settings** > **Organization-Wide Defaults** > **Edit** and enable **Site User Visibility**.
Site user availability enables site users in the same site to see each other, regardless of the organization-wide defaults.


## Upgrading to Version 2
After you install an Anypoint API Community Manager upgrade, it is not possible to undo the installation and revert to a previous version. Therefore, be sure to create safe sandbox environments in which you test each upgrade before installing it in your production environment. For more information, see sandboxes.
Upgrade directly from your current version to the latest version.
To upgrade your API community:
  1. Before performing any steps, read all the steps, including preinstallation and postinstallation.
  2. If necessary, notify your customers and stakeholders of the upgrade, and that APIs, docs, and client app pages may not work during the upgrade during the time after installing the new package and before completing the required configuration changes.
  3. Ensure that your Salesforce organizations have the External Data Change Tracking for OData 4.0 Adapter feature enabled:
    1. Before upgrading the package in your production or sandbox organization, check that your organization has this feature enabled by going to **Setup** > **External Data Source** and editing the Exchange data source.
    2. If you don’t see an **Eligible for External Change Data Capture** checkbox, raise a support case through the MuleSoft support portal and list the IDs of all your Salesforce API Community Manager organizations, including the IDs of all production and sandbox organizations.
Attempting to upgrade the package without this feature enabled causes the process to fail with errors due to missing objects and fields related to a missing ChangeEvent object.
  4. Open the API Community Manager control panel.
  5. In the same browser session, open the **package upgrade installation link** provided by your MuleSoft representative.
  6. Verify the version number and name of the release.
  7. If you are upgrading from a package version earlier than 1.26, follow the Preinstallation Steps When Upgrading from a Version Earlier Than 1.26 and then continue with these instructions.
  8. If you are upgrading from a package version earlier than 1.74, follow the Preinstallation Steps When Upgrading from a Version Earlier Than 1.74 and then continue with these instructions.
  9. If you are upgrading from a package version earlier than 1.77, follow the Preinstallation Steps When Upgrading from a Version Earlier Than 1.77 and then continue with these instructions.
  10. Select **Install for admins only**.
  11. Select **Upgrade**.
This starts the installation process.
When the upgrade finishes, you receive a notification email.
  12. If you are upgrading from package version 1.62 or earlier, follow the Postinstallation Steps When Upgrading from Version 1.62 or Earlier and then continue with these instructions.
  13. If you are upgrading from a package version earlier than 1.69, follow the Postinstallation Steps When Upgrading from a Version Earlier Than 1.69 and then continue with these instructions.
  14. If you are upgrading from a package version earlier than 1.74, follow the Postinstallation Steps When Upgrading from a Version Earlier Than 1.74 and then continue with these instructions.
  15. If you are upgrading from a package version earlier than 1.77, follow the Postinstallation Steps When Upgrading from a Version Earlier Than 1.77 and then continue with these instructions.
  16. If you are upgrading from a package version earlier than 1.79, follow the Postinstallation Steps When Upgrading from a Version Earlier Than 1.79 and then continue with these instructions.
  17. If you are upgrading from a package version earlier than 1.80.1, follow the Postinstallation Steps When Upgrading from a Version Earlier Than 1.80.1 and then continue with these instructions.
  18. If you are upgrading from a package version earlier than 1.82, follow the Postinstallation Steps When Upgrading from a Version Earlier Than 1.82 and then continue with these instructions.
  19. If you are upgrading from a package version earlier than 2.0, follow the Postinstallation Steps When Upgrading from a Version Earlier Than 2.0.
## Preinstallation Steps When Upgrading from a Version Earlier Than 1.26
If you are upgrading from a package version earlier than 1.26, follow these steps:
  1. Go to Salesforce Workbench: https://workbench.developerforce.com/
  2. Select Standard.
  3. Enter your username and password.
  4. Click the Login button.
  5. In the Queries menu, click SOQL Query.
  6. In the Object list, select **NavigationLinkSet**.
  7. In the Fields list, select **Id** and **MasterLabel**.
  8. Click the Query button.
  9. The query results are displayed as a list of records.
  10. Find the records with the **MasterLabel** field set to **NTO_Nav0** and **acm_template_Nav0**.
  11. Click the **Id** of the record with the **MasterLabel** field **NTO_Nav0**.
  12. Click the Delete button.
  13. Click the Confirm delete button.
  14. Click the **Id** of the record with the **MasterLabel** field **acm_template_Nav0**.
  15. Click the Delete button.
  16. Click the Confirm delete button.
  17. Continue with normal package installation.


Return to the main list of upgrade instructions to continue.
## Preinstallation Steps When Upgrading from a Version Earlier Than 1.74
If you are upgrading from a package version earlier than 1.74, follow these steps:
  1. Create a new named credential:
    1. Click **Setup** > **Named Credentials**.
    2. Copy the configuration information from the named credential `anypoint_mulesoft`.
    3. Create a new named credential with the name `Anypoint` and matching configuration.
  2. Update the external data source:
    1. Click **Setup** > **External Data Source** > **Exchange** > **Edit**.
    2. Set **URL** to `callout:Anypoint/odatabridge/odata.svc/`.
    3. Ensure that **Eligible for External Change Data Capture** is enabled.
    4. Save.
  3. Update the previous named credential:
    1. Click **Setup** > **Named Credentials**.
    2. Modify the named credential `anypoint_mulesoft`.
    3. Set **Identity Type** to **Named Principal**.
    4. Set **Authentication Protocol** to **Password Authentication**.
    5. Set **Username** to the placeholder value `user`.
    6. Set **Password** to the placeholder value `pass`.
    7. In the section **Callout Options** , enable **Generate Authorization Header** , **Allow Merge Fields in HTTP Header** , and **Allow Merge Fields in HTTP Body**.


Return to the main list of upgrade instructions to continue.
## Preinstallation Steps When Upgrading from a Version Earlier Than 1.77
If you are upgrading from a package version earlier than 1.77, follow these steps:
  1. Open the **Developer Console** and open the **Query Editor**.
  2. Enter `SELECT Id, Name, Owner.Name, Owner.IsActive FROM acm_pkg__CommunityApi__c WHERE Owner.IsActive = false` and click **Execute**.
  3. If the query lists any users, change their status to active with the reactivate a user instructions.


Return to the main list of upgrade instructions to continue.
## Postinstallation Steps When Upgrading from Version 1.62 or Earlier
If you are upgrading from package version 1.62 or earlier, after installing, ensure both `Member` and `Guest` profiles have field-level `Read` access to the `ParentId` field in the `CommunityAPI` object:
  1. Configure the `Member` profile:
    1. Click **Setup** > **Profiles**.
    2. Open the `Member` profile.
    3. Click **Object settings** > **CommunityAPI**.
    4. Ensure the `ParentId` field has `Read` access.
    5. Save.
  2. Configure the `Guest` profile:
    1. Click **Community builder** > **Settings** > **General**.
    2. Open the `Guest` profile.
    3. Click **Object settings** > **CommunityAPI**.
    4. Ensure the `ParentId` field has `Read` access.
    5. Save.


Return to the main list of upgrade instructions to continue.
## Postinstallation Steps When Upgrading from a Version Earlier Than 1.69
If you are upgrading from a package version earlier than 1.69, update the permissions of the `Member` and `Guest` profiles on the **SelfRegisterUserRequests** object:
  1. Configure the `Member` profile permissions:
    1. Click **Setup** > **Profiles**.
    2. Open the `Member` profile.
    3. Click **Object settings** > **SelfRegisterUserRequests**.
    4. Ensure there are no object level permissions and no field level permissions for this profile on this object.
  2. Configure the `Guest` profile permissions:
    1. Open the community builder.
    2. Click **Settings** > **General**.
    3. Open the `Guest` profile.
    4. Click **Object settings** > **SelfRegisterUserRequests**.
    5. Ensure that object level permissions include only `Create` and `Read`.
    6. Ensure that field level permissions for all fields include only `Read` and `Edit`.
  3. Check that your permissions match those in the Configure Profiles and Permissions documentation.


Return to the main list of upgrade instructions to continue.
## Postinstallation Steps When Upgrading from a Version Earlier Than 1.74
If you are upgrading from a package version earlier than 1.74, follow these steps:
  1. Click **Setup** > **External Data Source** > **Exchange**.
  2. In the section **Custom HTTP Headers** , set **X-Auth-Proto** to the value `'JWT'`, including the single quotes.
  3. Save.
  4. Upgrading to version 1.74 removes the **Spec Downloader** component from the community API Details page.
In the community builder, in **Pages** > **CommunityApi** > **API Detail** , add the **Spec Downloader** component.


Return to the main list of upgrade instructions to continue.
## Postinstallation Steps When Upgrading from a Version Earlier Than 1.77
**Potential degraded service of your community** : Upgrading from a package version earlier than 1.77 requires mandatory configuration updates. When the new package is installed, user access to assets in the community is disabled. When the configuration is complete, user access to assets in the community is enabled.
If you are upgrading from a package version earlier than 1.77, follow these steps:
Configure sharing settings for guests:
  1. In **Setup** , search for **Security** using the **Quick Find** box and click **Sharing Settings**.
  2. Scroll to the **CommunityAssetVersions Sharing Rules** section near the bottom of the page and click **New**.
  3. In the **Rule Name** section, update **Label** with `[Site Name] Sharing Rule`.
  4. In the **Select your rule type** section, select `Guest user access, based on criteria`.
  5. In the **Select which records to be shared** section, add these criteria.
    1. **Field** : `Community Name` **Operator** : `equals` **Value** : `[Site Name]`
    2. **Field** : `Visibility` **Operator** : `equals` **Value** : `Public`
  6. In **Select the users to share with** , select `[Site Name] Site Guest User`.
  7. In **Select the level of access for the users** , select **Read Only**.
  8. Save.
  9. In the API Community Manager control panel, open **Community Builder** and click **Settings** > **General**.
  10. In the **Guest user profile** section, click **[Site Name] Profile**.
  11. For each of the four objects **CommunityAssetVersions** , **AnypointAssetCategories** , **AnypointAssets** , and **AnypointAssetVersion** , in **Object Permissions** ensure **Read** is enabled, and in **Field Permissions** ensure all fields have **Read Access** enabled.
  12. For the object **CommunityAssetVersions** , in **Custom Object Permissions** ensure **Read** is enabled.
  13. For the object **AnypointApiInstances** , in **Field Permissions** ensure that **Version** and **VersionGroup** have **Read Access** enabled.
  14. In **External Object Permissions** , ensure each item has **Read** enabled.
  15. Save.
Configure sharing settings for members:
  1. In **Setup** , search for **Digital Experiences** using the **Quick Find** box, and click **Settings**.
  2. Scroll to **Sharing Sets** and click **Edit** next to the set **[Site Name] Sharing Set**.
  3. In the **Select Objects** section, select **CommunityAssetVersions** from **Available Objects** and add it to **Selected Objects**.
  4. In the **Configure Access** section, select **Set Up** under the **Action** column next to **CommunityAssetVersions**.
  5. In the **Access Mapping for *CommunityAssetVersions** page enter these values.
    1. **Account** in the **User** list.
    2. **acm_pkg__Account_c** in the **Target CommunityAssetVersions** list.
    3. **Read Only** in the **Access Level** list.
  6. Update.
  7. Save.
  8. In **Setup** , search for **Users** using the **Quick Find** box and click **Profiles**.
  9. Repeat the following steps for each of the profiles for your users.
There may be one or more user profiles to configure.
  10. Click the profile.
  11. In the profile page, click **Edit**.
  12. For each of the four objects **CommunityAssetVersions** , **AnypointAssetCategories** , **AnypointAssets** , and **AnypointAssetVersion** , in **Object Permissions** ensure **Read** is enabled, and in **Field Permissions** ensure all fields have **Read Access** enabled.
  13. For the object **CommunityAssetVersions** , in **Custom Object Permissions** ensure **Read** is enabled.
  14. For the object **AnypointApiInstances** , in **Field Permissions** ensure that **Version** and **VersionGroup** have **Read Access** enabled.
  15. In **External Object Permissions** , ensure each item has **Read** enabled.
  16. Save.


If you ever change the name of your community, be sure to update this configuration.   
---  
Return to the main list of upgrade instructions to continue.
## Postinstallation Steps When Upgrading from a Version Earlier Than 1.79
If you are upgrading from a package version earlier than 1.79, update the permissions of the `Member` and `Guest` profiles on the **AnypointClientProviders** object:
  1. Configure the `Member` profile permissions:
    1. Click **Setup** > **Profiles**.
    2. Open the `Member` profile.
    3. Click **Object settings** > **AnypointClientProviders**.
    4. Ensure **Read** is enabled, and in **Field Permissions** ensure all fields have **Read Access** enabled.
  2. Configure the `Guest` profile permissions:
    1. Open the community builder.
    2. Click **Settings** > **General**.
    3. Open the `Guest` profile.
    4. Click **Object settings** > **AnypointClientProviders**.
    5. Ensure **Read** is enabled, and in **Field Permissions** ensure all fields have **Read Access** enabled.
  3. Check that your permissions match those in the Configure Profiles and Permissions documentation.


Return to the main list of upgrade instructions to continue.
## Postinstallation Steps When Upgrading from a Version Earlier Than 1.80.1
If you are upgrading from a package version earlier than 1.80.1, update the permissions of the `Member` and `Guest` profiles on the **AnypointGrantTypes** object, and ensure both `Member` and `Guest` profiles have field-level `Read` access to the `GrantTypes` field in the **AnypointApplications** object:
  1. Configure the `Member` profile permissions:
    1. Click **Setup** > **Profiles**.
    2. Open the `Member` profile.
    3. Click **Object settings** > **AnypointGrantTypes**.
    4. Ensure that **Read** is enabled and, in **Field Permissions** , ensure that all fields have **Read Access** enabled.
    5. Click **Object settings** > **AnypointApplications**.
    6. Ensure that the `GrantTypes` field has `Read` access.
    7. Save.
  2. Configure the `Guest` profile permissions:
    1. Open the community builder.
    2. Click **Settings** > **General**.
    3. Open the `Guest` profile.
    4. Click **Object settings** > **AnypointGrantTypes**.
    5. Ensure that **Read** is enabled and, in **Field Permissions** , ensure that all fields have **Read Access** enabled.
    6. Click **Object settings** > **AnypointApplications**.
    7. Ensure that the `GrantTypes` field has `Read` access.
    8. Save.
  3. Verify that your permissions match those in the Configure Profiles and Permissions documentation.


Return to the main list of upgrade instructions to continue.
## Postinstallation Steps When Upgrading from a Version Earlier Than 1.82
If you are upgrading from a package version earlier than 1.82, use either the automatic or manual configuration method to update the permissions of the **Member** and **Guest** profiles on the **AnypointAssetCustomFields** and **AnypointCustomFields** objects, and ensure both **Member** and **Guest** profiles have field-level **Read** access to the **AssetVersionId** field in the **AnypointApiInstances** object.
Automatic configuration:
  1. From the Anypoint API Community Manager control panel, open the Salesforce App Launcher and search for `API community manager diagnostics`.
  2. In the **User Access** tab, in the section **Guest User** , click **Fix all**.
  3. In the **User Access** tab, in the section **Member User** , click **Fix all**.
  4. Verify that your permissions match those in the Configure Profiles and Permissions documentation.


Manual configuration:
  1. Configure the **Member** profile permissions:
    1. Click **Setup** > **Profiles**.
    2. Open the **Member** profile.
    3. Click **Object settings** > **AnypointAssetCustomFields**.
    4. Ensure that **Read** is enabled and, in **Field Permissions** , ensure that all fields have **Read Access** enabled.
    5. Click **Object settings** > **AnypointCustomFields**.
    6. Ensure that **Read** is enabled and, in **Field Permissions** , ensure that all fields have **Read Access** enabled.
    7. Click **Object settings** > **AnypointApiInstances**.
    8. Ensure that the **AssetVersionId** field has **Read** access.
    9. Save.
    10. Click **Apex Class Access**.
    11. Click **Edit**.
    12. Select the class **acm_pkg.ApiVersionHeader** in the list and click **Add** to make it accessible.
    13. Click **Save**.
  2. Configure the **Guest** profile permissions:
    1. Open the community builder.
    2. Click **Settings** > **General**.
    3. Open the **Guest** profile.
    4. Click **Object settings** > **AnypointAssetCustomFields**.
    5. Ensure that **Read** is enabled and, in **Field Permissions** , ensure that all fields have **Read Access** enabled.
    6. Click **Object settings** > **AnypointCustomFields**.
    7. Ensure that **Read** is enabled and, in **Field Permissions** , ensure that all fields have **Read Access** enabled.
    8. Click **Object settings** > **AnypointApiInstances**.
    9. Ensure that the **AssetVersionId** field has **Read** access.
    10. Save.
    11. Click **Apex Class Access**.
    12. Click **Edit**.
    13. Select the class **acm_pkg.ApiVersionHeader** in the list and click **Add** to make it accessible.
    14. Click **Save**.
  3. Verify that your permissions match those in the Configure Profiles and Permissions documentation.


Return to the main list of upgrade instructions to continue.
## Postinstallation Steps When Upgrading from a Version Earlier Than 2.0
If you are upgrading from a package version earlier than 2.0, use either the automatic or manual configuration method to update the permissions of the member and guest profiles. Both profiles require field-level read access to the **AssetId** field in the **AnypointApiInstances** object.
Automatic configuration:
  1. From the Anypoint API Community Manager control panel, open the Salesforce App Launcher and search for `API community manager diagnostics`.
  2. In the **User Access** tab, in the sections **Guest User** and **Member User** , click **Fix all**.
  3. Verify that your permissions match those in the Configure Profiles and Permissions documentation.
Return to the main list of upgrade instructions to continue.
## Postinstallation Steps When Upgrading from a Version Earlier Than 2.0
If you are upgrading from a package version earlier than 2.0, use either the automatic or manual configuration method to update the permissions of the member and guest profiles. Both profiles require field-level read access to the **AssetId** field in the **AnypointApiInstances** object.
Automatic configuration:
  1. From the Anypoint API Community Manager control panel, open the Salesforce App Launcher and search for `API community manager diagnostics`.
  2. In the **User Access** tab, in the sections **Guest User** and **Member User** , click **Fix all**.
  3. Verify that your permissions match those in the Configure Profiles and Permissions documentation.


Manual configuration:
  1. Configure the member profile permissions:
    1. Click **Setup** > **Profiles**.
    2. Open the **Member** profile.
    3. Click **Object settings** > **AnypointApiInstances**.
    4. Ensure that the **AssetId** field has **Read** access.
    5. Save.
  2. Configure the guest profile permissions:
    1. Open the community builder.
    2. Click **Settings** > **General**.
    3. Open the **Guest** profile.
    4. Click **Object settings** > **AnypointApiInstances**.
    5. Ensure that the **AssetId** field has **Read** access.
    6. Save.
  3. Verify that your permissions match those in the Configure Profiles and Permissions documentation.


## See Also
  * Important Notifications
  * Product Versioning and Back Support Policy