2

It's mentioned that addition of new artifacts is not allowed in the scope of patch changes for managed package. The question here is - does label creation considered to be an addition of new artifact? I'm not sure, because from metadata perspective it's just the same file being edited.

2 Answers 2

3

The creation of new anythings in a patch is prohibited, including a label. Just because they all happen to reside in the same metadata file, does not mean they are all considered one unit. If that were true, you could add new fields to an existing object, and it wouldn't violate the "new artifact" rule, which is equally untrue. To determine if something would be allowed, simply ask yourself this question: "Do the number of elements that would appear in the package manifest change?" If so, it's not allowed.

2
  • Agree up to some extent. But we don't usually enumerate each field individually in package.xml (just object is mentioned), same about labels (single xml element for all labels). I'm drastically trying to figure out some strict rule to determine what is allowed/not allowed in patch. I want to integrate it in our CI system to catch 'patch-inconsistent' commits at feature branch stage, but not when you start uploading the package on patch org - too late already and require code rollback.
    – wesaw
    Commented Dec 4, 2017 at 12:28
  • @wesaw In DX, "fields" are now in their own separate files, so you can monitor that easier. All of the programming-logic stuff (aura, classes, triggers, flows, etc) are all one-or-two files per item, so those are easy to check, but objects, workflows, validations, and so on are all bundled per object. That means you'll have to figure out if the rules are broken by parsing the XML.
    – sfdcfox
    Commented Dec 4, 2017 at 15:35
0

You might find the following two resources useful here:

  1. "Understanding Packages" which explains package components (the things that @sfdcfox is discussing) which cannot be added or deleted in a patch, and describes what is upgradeable and what is not in the context of Managed and Unmanaged packages.
  2. ISVForce guide, specifically the section on "Components available in Managed Packages", which covers what is and what is not upgradeable in a patch release.

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .