Salesforce spring'21 Release - ISV Features
Tags: salesforce, isvpartner
Published: 2021-01-13 08:49:45

In the spring'21 release, salesforce is providing some new features for their ISV partners, let's check some of them 😃

##📌 Target a Specific Release

While creating a new package version you can specify `preview` or `previous`, which means you can test upcoming features, run regression tests, and support customers regardless of which release their org is on.

To create a package version based on the previous Salesforce release version, create a scratch definition file that contains:  

```json
{
   "release": "previous"
}
```
Next, specify the definition file when you create your package version.
```sh
sfdx force:package:version:create -f config/project-scratch-def.json
```
##📌 Remove Metadata Components (Pilot)

In Spring'21 salesforce is piloting the functionality that will allow you to remove metadata components from the Second-Generation Managed package. This gives you the ISV partner the possibility to delete the metadata that is not needed anymore and creates confusion for the end-user.

This change applies to second-generation managed packages.

To join the pilot, log a case at [https://partners.salesforce.com/partnerSupport](https://partners.salesforce.com/partnerSupport).

##📌 Monitor Packaging Operations with New API Fields

Three new fields in SOAP and Tooling API objects allow you to monitor and troubleshoot issues with push upgrades and package creation.
The `PackagePushRequest` and the `PackagePushJob` objects in SOAP API have new fields that indicate the start time, end time, and how long the push upgrade took to complete. The `Package2Version` object in Tooling API has a new field that indicates how long it took to create a package version. 

You can also use `--verbose` on `package:version:list` or `package:version:report` to view `BuildDurationInSeconds` for a package version.

##📌 Specify Unpackaged Metadata

It's possible to have metadata in your project which you can use to test the app functionality without having them included in the package.

You need to add the test metadata in a different folder and specify the path to the unpackaged metadata in your `sfdx-project.json` file.

```json
"packageDirectories": [{
    "path": "force-app",
    "package": "TV_unl",
    "versionName": "ver 0.1",
    "versionNumber": "0.1.0.NEXT",
    "default": true,
    "unpackagedMetadata": {
      "path": "my-unpackaged-directory"
    }
  },
  {
    "path": "my-unpackaged-directory",
    "default": false
  }
]
```
##📌 AppExchange App Analytics

Curious about how your subscribers interact with your solution? AppExchange App Analytics package usage logs and package usage summaries can help you getting and monitoring the data.

You can download 20 GB of AppExchange App Analytics data within a 24-hour period.

In order to get access to AppExchange App Analytics, you will have to log a case in the Salesforce Partner Community.

Package usage summaries provide high-level metrics by calendar month. Discover how many users access your package and which operations they perform.

[https://developer.salesforce.com/docs/atlas.en-us.230.0.packagingGuide.meta/packagingGuide/app_analytics_intro.htm](https://developer.salesforce.com/docs/atlas.en-us.230.0.packagingGuide.meta/packagingGuide/app_analytics_intro.htm).

---

I hope this helps, You can find me on Twitter @abdel_force.