Critical Changes:
- The flows `dev_org`, `dev_org_namespaced`, `qa_org`, `ci_feature`,
and `install_beta` now run the `update_dependencies` task with the
`include_beta` option enabled, so dependencies will be installed
using the most recent beta release instead of the most recent final
release. The `beta_dependencies` flow is no longer used and is
considered deprecated.
- The flows `ci_feature_beta_deps` and `dev_org_beta_deps` are now
deprecated and should be replaced by their default equivalents
above.
- The `ci_feature_2gp` flow has been changed to use `config_apextest`
instead of `config_managed` to avoid configuration steps that are
unnecessary for running Apex tests. This means that in order for
`ci_feature_2gp` to work, `config_apextest` must be set up to work
in both managed and unmanaged contexts.
- When connecting GitHub using `cci service connect github`, we now
prompt for a personal access token instead of a password. (GitHub
has removed support for accessing the API using a password as of
November 2020.) If you already had a token stored in the `password`
field, it will be transparently migrated to `token`. If you were
specifying `--password` on the command line when running this
command, you need to switch to `--token` instead.
- Removed the old `cumulusci.tasks.command.SalesforceBrowserTest` task
class which has not been used for some time.
Changes:
- Added a standard `qa_org_2gp` flow, which can be used to set up a QA
org using a 2nd-generation package version that was previously
created using the `build_feature_test_package` flow. This flow makes
use of the `config_qa` flow, which means that `config_qa` must be
set up to work in both managed and unmanaged contexts. This flow is
considered experimental and may change at any time.
- The `batch_apex_wait` task can now wait for Queueable Apex jobs in
addition to batch Apex.
- The `custom_settings_value_wait` task now waits if the expected
Custom Settings record does not yet exist, and does case insensitive
comparison of field names.
- Preflight checks:
- Added a task, `check_sobject_permissions`, to validate sObject
permissions.
- Added a task, `check_advanced_currency_management`, to determine
whether or not Advanced Currency Management is active.
- Robot Framework:
- In the Robot Framework Salesforce resource, the
`Open Test Browser` keyword now accepts an optional `useralias`
argument which can be used to open a browser as a different
user. The user must already have been created or authenticated
using the Salesforce CLI.
- Updated to [Snowfakery 1.3][].
Issues Closed:
- Improved error handling of REST API responses to confirm they are
JSON.
- Fixed error handling in the `load_dataset` task in Windows.
- Fixed a bug where pressing `Ctrl+C` while running `cci org connect`
in Windows did not exit. (\2027)
- Fixed a bug where deploying an LWC component bundle using the
`deploy` task did not include files in subfolders.
- Fixed the `deploy` task so that deploying an empty metadata
directory does not error.
- Fixed a bug where the `namespace_inject` option was not included
when freezing deploy steps for MetaDeploy, causing namespace
injection to not work when running the plan in MetaDeploy.
- Fixed a bug where running the `robot` task as a cross-project task
could not load Robot Framework libraries from the other project.