3.33.0
Critical Changes:
- CumulusCI's dependency management modules have been rewritten. This grants new capabilities and removes some existing features. (#2456)
-
All package installations now perform retries if the package is not yet available.
-
Package installations are also retried on common row locking errors.
-
You can now obtain fine-grained control over how your projects resolve dependencies. It's much easier to control where your application uses beta managed packages and second-generation packages to satisfy dependencies.
-
You can now execute 2GP builds that use 2GPs from upstream feature branches matching your current branch, not just release branches.
-
The
update_dependencies
task no longer supports uninstalling managed packages in a persistent org as part of the dependency installation process. -
The
update_dependencies
task no longer supports theallow_newer
option, which is always True. -
The install order of
update_dependencies
changes slightly where multiple levels of upstream dependency haveunpackaged/pre
metadata. Where previously one package'sunpackaged/pre
might be installed prior to its own upstream dependency,unpackaged/pre
will now always be installed immediately prior to the repo's package. -
Projects using unmanaged dependencies that reference GitHub subfolders will see a change in resolution behavior. Previously, a dependency specified like this:
dependencies: - github: https://github.com/SalesforceFoundation/NPSP subfolder: unpackaged/config/trial
would always deploy from the latest commit on the default branch. Now, this dependency will be resolved to a GitHub commit just like a dependency without a subfolder, selecting the latest beta or production release as determined by the chosen resolution strategy.
-
The
project__dependencies
section incumulusci.yml
no longer supports nested dependencies specified like this:dependencies: - namespace: "test" version: "1.0" dependencies: - namespace: "parent" version: "2.2"
All dependencies should be listed in install order.
-
Changes:
- CumulusCI now supports named services! This means you can configure multiple services of the same type under different names. If you run
cci service list
you will note that your existing global services will have the nameglobal
, and any project-specific services will have the nameproject_name
. (#2499)- You must now specify both a service type and a service name when connecting a new service using
cci service connect
. - CumulusCI has a new command:
cci service default
. This command sets the default service for a given type. - CumulusCI has a new command:
cci service rename
. This command renames a given service. - CumulusCI has a new command:
cci service remove
. This command removes a given service.
- You must now specify both a service type and a service name when connecting a new service using
- A validator now checks
cumulusci.yml
and shows warnings about values that are not expected. (#1624) - Added a friendly error message when a GitHub repository cannot be found when set as a dependency or cross-project source. (#2535)
- Task option command line arguments can now be specified with either an underscore or a dash: e.g.
clean_meta_xml
can be specified as either--clean_meta_xml
or--clean-meta-xml
or-o clean-meta-xml
(#2504) - Adjustments to existing tasks:
- The
update_package_xml
task now supports additional metadata types. (#2549) - The
push_sandbox
andpush_all
tasks now use the Bulk API to query for subscriber orgs. (#2338) - The
push_sandbox
andpush_all
tasks now default to including all orgs whose status is not Inactive, rather than only orgs with a status of Active. This means that sandboxes, scratch orgs, and Developer Edition orgs are included. (#2338) - The
user_alias
option for theassign_permission_sets
,assign_permission_set_groups
, andassign_permission_set_licenses
tasks now accepts a list of user aliases, and can now create permission assignments for multiple users with a single task invocation. (#2483) - The
command
task now sets thereturn_values
to a dictionary that contains the return code of the command that was run. (#2453)
- The
- Data generation with Snowfakery:
- Updated to [Snowfakery 1.9] (https://github.com/SFDO-Tooling/Snowfakery/releases/tag/v1.9)(\#2538)
- Robot Framework:
- Changes for CumulusCI developers:
Issues Closed: