This section enumerates the changes that can be made to a component, and whether they are call and/or install compatible.
Nature of Change |
Install Compatible |
Call Compatible |
---|---|---|
non-final to final |
no |
yes |
final to non-final |
yes |
yes |
non-abstract to abstract |
no |
yes |
abstract to non-abstract |
yes |
yes |
more restrictive access |
no |
no |
less restrictive access |
yes |
yes |
change value of description, label, softwareVendor, or author |
no |
yes |
change value of name or path |
no |
yes |
change from simple to composite component |
no |
no |
change from composite to simple component |
no |
no |
This section enumerates the changes that can be made to a platform, and whether they are call and/or install compatible.
Nature of Change |
Install Compatible |
Call Compatible |
---|---|---|
more general platform |
yes |
yes |
more specific platform |
no |
yes |
unrelated platform |
no |
yes |
Here, a platform X is more specific than Y if X is a descendant of Y. It is more general if X is an ancestor of Y.
This section enumerates the changes that can be made to LimitToHostSet, and whether they are call and/or install compatible.
Nature of Change |
Install Compatible |
Call Compatible |
---|---|---|
any change to limitToHostSet |
no |
yes |
Unlike platforms, the limitToHostSet names a generic, client-specified host set over which there is no explicit control. Its membership can change at any time, so there"s no way to enforce notions of more or less specific host sets.
This section enumerates the changes that can be made to Extends, and whether they are call and/or install compatible.
Nature of Change |
Install Compatible |
Call Compatible |
---|---|---|
new base component instance of original |
no |
yes |
original base component instance of new |
no |
no |
new base component unrelated to original |
no |
no |
new base component install compatible with original |
yes |
yes |
new base component call compatible with original |
no |
yes |
This section enumerates the changes that can be made to a variable, and whether they are call and/or install compatible.
Nature of Change |
Install Compatible |
Call Compatible |
---|---|---|
add a new variable |
no |
yes |
remove/rename a non-private variable |
no |
no |
remove/rename a private variable |
yes |
yes |
change final var default value |
no |
yes |
change non-final var default value |
yes |
yes |
non-final to final |
no |
yes |
final to non-final |
yes |
yes |
non-abstract to abstract |
no |
yes |
abstract to non-abstract |
yes |
yes |
more restrictive access |
no |
no |
less restrictive access |
no |
yes |
This section enumerates the changes that can be made to the Component Ref List, and whether they are call and/or install compatible.
Nature of Change |
Install Compatible |
Call Compatible |
non-final to final |
no |
yes |
final to non-final |
yes |
yes |
new type instance of original |
no |
yes |
original type instance of new |
no |
no |
new type unrelated to original |
no |
no |
new type install compatible with original |
yes |
yes |
new type call compatible with original |
no |
yes |
This section enumerates the changes that can be made to Component Ref, and whether they are call and/or install compatible.
Nature of Change |
Install Compatible |
Call Compatible |
---|---|---|
non-final to final |
no |
yes |
final to non-final |
yes |
yes |
non-abstract to abstract |
no |
yes |
abstract to non-abstract |
yes |
yes |
change installMode |
no |
no |
add a new component ref |
no |
yes |
remove/rename a nested component ref |
no |
no |
remove/rename a toplevel component ref |
no |
no |
add/modify/remove nested component argList args |
no |
yes |
add/modify/remove toplevel component argList args |
yes |
yes |
new type instance of original |
no |
yes |
original type instance of new |
no |
no |
new type unrelated to original |
no |
no |
new type install compatible with original |
yes |
yes |
new type call compatible with original |
no |
yes |
new nested comp instance of original |
no |
yes |
original nested comp instance of new |
no |
no |
new nested comp unrelated to original |
no |
no |
new nested comp install compatible with original |
yes |
yes |
new nested comp call compatible with original |
no |
yes |
This section enumerates the changes that can be made to a resource, and whether they are call and/or install compatible.
Nature of Change |
Install Compatible |
Call Compatible |
---|---|---|
non-final to final |
no |
yes |
final to non-final |
yes |
yes |
non-abstract to abstract |
no |
yes |
abstract to non-abstract |
yes |
yes |
modify install path, name, group or user |
no |
yes |
modify rsrcName, rsrcVersion |
no |
yes |
This section enumerates the changes that can be made to an install, control, or uninstall block, and whether they are call and/or install compatible.
Nature of Change |
Install Compatible |
Call Compatible |
---|---|---|
non-final to final |
no |
yes |
final to non-final |
yes |
yes |
non-abstract to abstract |
no |
yes |
abstract to non-abstract |
yes |
yes |
more restrictive access |
no |
no |
less restrictive access |
no |
yes |
add a new non-private block |
no |
yes |
add a new private block |
yes |
yes |
remove/rename a non-private block |
no |
no |
remove/rename a private block |
yes |
yes |
change body of block |
yes |
yes |
add/modify/remove local vars of block |
yes |
yes |
add/modify/remove params of private block |
yes |
yes |
add required param to non-private block |
no |
no |
add optional param |
yes |
yes |
remove optional/required param |
yes |
yes |
rename optional param |
yes |
yes |
rename required param of non-private block |
no |
no |
change param from optional to required in non-private block |
no |
no |
change param from required to optional |
yes |
yes |
change param displayMode |
yes |
yes |
change param prompt |
yes |
yes |
Snapshot blocks generally have the same compatibility matrix as other blocks listed above, except for dealing with their prepare, capture and cleanup blocks.
Nature of Change |
Install Compatible |
Call Compatible |
---|---|---|
add/modify/remove prepare/cleanup block |
yes |
yes |
add/modify/remove capture step |
yes |
yes |
This section enumerates the changes that can be made to Diff Ignore, and whether they are call and/or install compatible.
Nature of Change |
Install Compatible |
Call Compatible |
---|---|---|
add/modify/remove an ignore directive |
yes |
yes |
The ignore directives are only considered at diff runtime, and do not affect the state of existing snapshots in any way.