Releases: SFDO-Tooling/CumulusCI
3.43.0
Critical Changes
-
We now support all package installation options for the
update_dependencies
andinstall_managed
tasks, includingactivate_remote_site_settings
,security_type
,name_conflict_resolution
, andpassword
(password not available forupdate_dependencies
). (#2811)We also fixed a minor inconsistency in defaulting the
activate_remote_site_settings
(or formerlyactivateRSS
) option. Projects that define custom tasks based on theInstallPackageVersion
class should ensure they explicitly set theactivate_remote_site_settings
option, or accept the new default of True.MetaDeploy install plans now do not freeze defaulted package install options. If your install plans are dependent on specific install options, we recommend explicitly specifying them. Install plans without explicit options will use the defaults at the time of execution.
Changes
- The
sources
feature, which allows CumulusCI projects to consume automation from other projects, now supports specifying aresolution_strategy
, just like dependencies. Sources can now resolve to the same GitHub refs as corresponding dependencies, including branch matching. The default behavior is to use theproduction
resolution strategy. (#2807) - Added several new tasks for configuring Marketing Cloud:
marketing_cloud_create_subscriber_attribute
,marketing_cloud_create_user
, andmarketing_cloud_update_user_role
. (#2838) - In the mapping file for the
load_dataset
task, thebatch_size
can now be specified for Bulk API steps in addition to REST API steps. (#2813) - The
snowfakery
task now supports theignore_row_errors
option to continue loading even if there are row errors. (#2819) - We made significant updates to the documentation for Robot Framework. (#2834, #2847)
- We improved option validation for the
add_page_layout_fields
task. (#2828)
Issues Fixed
- Fixed handling of timezones when the
start_time
option is specified for the push tasks. (#2814) - Fixed the
deploy_marketing_cloud_package
task to handle changes to the Marketing Cloud API. (#2816) - Fixed an issue where MetaDeploy install steps that used 04t package version Ids, including 2GP installations, were frozen with incorrect titles. (#2817)
- Fixed an issue causing 2GP commit-status builds to fail when the local Git repository has a detached HEAD (#2818)
- Fixed a bug in the
dry_run
option for themetadeploy_publish
task where explicitly setting the option toFalse
did not disable the dry run. (#2836) - Improved the error message shown by the
load_dataset
task if a table is missing from the dataset. (#2813) - Improved the warning message shown when CumulusCI can't encrypt org and service config files. (#2839)
Internal Changes
v3.42.0
3.42.0 (2021-08-19)
Critical Changes
- The
github_release
task now requires thetag_prefix
option to be passed. (#2792) - The
github_copy_subtree
task now requires atag_name
option to be passed. (#2792) - The
github_copy_subtree
task optionversion
has been deprecated (use thetag_name
option instead). (#2792)
Changes
uninstall_packaged_incremental
now defaults to ignoring non-deletableCustomObjectTranslation
metadata. If your project customizes theignore_types
option onuninstall_packaged_incremental
, we recommend you addCustomObjectTranslation
to this option. (#2790)
Issues Fixed
3.41.0
Changes
- We added a new Metadata ETL task, add_page_layout_fields, that allows adding fields to existing layouts. (#2766)
- We added a task to enable an Einstein prediction: enable_einstein_prediction (thanks, @erikperkins!) (#2778)
- We added standard flows for releasing unlocked packages: release_unlocked_beta and release_unlocked_production (#2768)
- We added documentation for using CumulusCI to build managed 2GP packages, unlocked packages, and extending NPSP and EDA with 2GP packages. (#2768)
- Contributions to CCI now require verification by isort, which ensures consistency in the order that imports are used. (#2770)
- CumulusCI now supports deploying unmanaged dependencies in SFDX source format. (#2735)
- The create_package_version task now handles dependencies that use a zip_url. (#2735)
- Updates to Github Actions configuration documentation. Thanks @Julian88Tex (#2773)
- CumulusCI now automatically recognizes services and orgs configured via environment variables. See the docs for more details. (#2676 and #2776)
- We've updated the Push Upgrade tasks (push_list, push_sandbox, etc) task option start_time to accept ISO-8601 formatted datetimes. (#2769)
- You can now specify "sandbox": true on a CUMULUSCI_ORG_ variable in headless environments to indicate that the org you want to connect to is a sandbox. when connecting sandbox orgs in a headless environment. (#2753)
Issues Closed
- Fixed an issue where scratch orgs failed to be deleted in CI environments. (#2676)
- Fixed an issue where deleting an org failed to mark the org as deleted on CumulusCI's keychain. (#2676)
- Fixed an issue where CumulusCI would fail on Linux distributions that were incompatible with the keyring package. (#2676)
- We fixed an issue causing the release_2gp_production flow to fail with a dependency parsing error. (#2767)
- Fixed a couple issues with connecting CumulusCI to sandboxes using enhanced domains. (#2753 and #2765)
- Fixed a bug where the github_release task was not marking the "This is a pre-release" checkbox for beta releases. (#2788)
3.40.1
Issues Closed
- Fixed an issue where a missing dependency was causing the homebrew installer formula to break.
3.40.0
Critical Changes
- The
create_package_version
task no longer creates Unlocked Packages from theunpackaged/pre
andunpackaged/post
directories of dependencies, or localunpackaged/pre
directories by default. This behavior is now opt-in via thecreate_unlocked_dependency_packages
option, which defaults to False. Projects using the old default behavior must explicitly set this option. We believe the new behavior is a more sane default for most 2GP projects. (#2741)
Changes
- The
add_standard_value_set_entries
task now supports value sets forLeadStatus
. (#2695, with thanks to @naicigam) - We updated the default API version to 52.0. (#2740)
Issues Closed
- Fixed an issue where the the built-in connected app was not accessible when running CumulusCI in a headless environment. (#2737)
- The
create_package_version
task now supportsobjectSettings
in the org definition file. (#2741) - We fixed issues in working with files containing Unicode characters on some Windows systems when using source-tracking commands. (#2739)
- Fixed a bug where the
anon_apex
task had option text that was missing spaces. (#2736)
3.39.1
3.39.0
Changes:
- A new snowfakery task with better usability and multi-processor support. Look at the CumulusCI docs to learn the new syntax: https://cumulusci.readthedocs.io/en/stable/data.html#generate-fake-data (#2705)
- CumulusCI now uses Snowfakery 2.0, with various new features, especially the ability to query into orgs. More information: https://github.com/SFDO-Tooling/Snowfakery/releases/tag/2.0 (#2705)
- We improved our Robot documentation so that it's possible to link to keyword documentation instead of having to download it locally (#2696)
- CumulusCI uses a new port (7788) for the built-in connected app to lessen the chances that the port is in use. (#2698)
- CumulusCI now checks if the port associated with a callback URL/redirect URI is in use during OAuth2 flows, and if so, raises a more friendly error. (#2698)
- The
generate_data_dictionary
task now includes Custom Settings, Custom Metadata Types, and Platform Events. (#2712) - The
generate_data_dictionary
task now excludes any schema with visibility set to Protected. This behavior can be turned off (including protected schema) with theinclude_protected_schema
option. (#2712) - The
generate_data_dictionary
task now parses object and field metadata anywhere in a Salesforce DX release other than in theunpackaged/
directory tree. (#2712) - Builds that install feature-test 2GP packages now present a cleaner error message when the current commit is not found on GitHub. (#2713)
- SFDX and CumulusCI both support noancestors as a Scratch org config option but CumulusCI generated a warning if users tried to specify the option in cumulusci.yml. (#2721)
Issues closed:
- Fixed issue where CumulusCI did not correctly convert a package version specified as a number in YAML to a string. This now raises a warning. (#2692)
- Fixed a bug where OAuth errors were not reported in detail. (#2694)
- Fixed an issue where CumulusCI did not grant permissions to Custom Tabs when running
update_admin_profile
without a custompackage.xml
. Projects that use a custompackage.xml
withupdate_admin_profile
should update their manifest to include aCustomTab
wildcard for the same outcome. (#2699) - Fixed an issue where the
dx
,dx_push
, anddx_pull
tasks did not refresh the org's access token. (#2703) - Fixed issues in the
generate_data_dictionary
task that resulted in failures when processing fields with blank Help Text or processing standard fields. (#2706) - Fixed an issue preventing
generate_data_dictionary
from working with four-digit (1.0.0.0) 2GP version numbers. (#2712) - Fixed an issue causing
release_2gp_beta
to fail to create a GitHub release with a dependency-parsing error. (#2720)
3.38.0
Changes:
- The built-in connected app that CumulusCI uses by default is now visible in the output of the
cci service list
command. This makes it possible to switch back and forth between this connected app and another one as the current default when multiple connected_app services are configured. The built-in connected_app service has the namebuilt-in
and cannot be renamed or removed. (#2664) - The
generate_data_dictionary
task includes a new option,include_prerelease
. If set toTrue
, CumulusCI will include unreleased schema in the data dictionary from the current branch on GitHub, with the version listed as "Prerelease". (#2671) - Added a new task,
gather_release_notes
, which generates an HTML file with release notes from multiple repositories. (#2633) - The
deploy_marketing_cloud_package
task includes a new option,custom_inputs
, which can be used to specify values to fill in for inputs in a Marketing Cloud package. (#2683) - Mappings for the
extract_dataset
task can now specify asoql_filter
to restrict which records are extracted. Thanks @sfdcale (#2663) - Robot Framework: The
Scroll Element Into View
keyword in the Salesforce library now scrolls the center of the element into view rather than the top. (#2689)
Issues closed:
- Fixed a bug where CumulusCI could not parse the repository owner and name from an ssh git remote URL if it used an ssh alias instead of
github.com
. (#2684) - Fixed a bug where
cci service info <service_type>
would displayNone
as the name for the default service if no name was provided. (#2664) - Fixed a missing dependency on the
contextvars
Python package in Python 3.6.
3.37.0
Changes
- The
install_managed
task now supports 2GP releases (#2655). - We changed the behavior of the
release_2gp_beta
flow to always upload a package version, even if metadata has not changed (#2651). - We now support sourcing install keys for packages from environment variables via the
password_env_name
dependency key (#2622).
Robot Framework
- We upgraded SeleniumLibrary to 5.x (#2660).
- We added a new keyword "select window" to Salesforce library, to replace the keyword of the same name which was renamed in SeleniumLibrary 5.x to 'switch window'. We will be removing this keyword in a future release; tests should use 'switch window' instead.
Issues Closed
- We corrected some JavaScript issues that were occurring with Chrome 91. (#2652)
- We fixed a bug impacting the
generate_data_dictionary
task when used with dependencies (#2653). - We fixed an issue causing
sfdx
commands that had options with spaces to fail to execute on Windows (#2656). - We fixed an issue causing the creation of incorrect 2GP beta tags (#2651).
3.36.0
Changes
- Added the option
tag_prefix
to thegithub_release
task. This option can be set to specify what prefix you would like to use when CumulusCI creates a release tag for you in GitHub. (#2642) - The
deploy_marketing_cloud_package
task has been updated to match changes to the Marketing Cloud Package Manager API. It also now raises an exception if the deployment failed. (#2632)
Robot Framework
- Improved the output of the
robot_libdoc
task. (#2627)
Data generation with Snowfakery
- Updated to Snowfakery 1.12 (#2538)
Issues Closed
- Fixed an issue where flow reference documentation was rendering with an error. (#2646)
- CumulusCI will now remove orgs when the
--delete-org
option is passed tocci flow run
, even if an error occurs while running the flow. (#2644) - Fixed a bug where beta tags created via the
release_2gp_beta
flow were not receiving the proper tag prefix. (#2642) - Fixed namespace injection for filenames with a
___NAMESPACE___
token in sfdx format. (#2631) (Thanks @bethbrains) - Fixed a bug in
cci org connect
where the--sandbox
flag was directing users to login atlogin.salesforce.com
instead oftest.salesforce.com
. (#2630) - Fixed a regression where the
skip
key for a dependency could no longer be specified as a single string instead of a list. (#2629) - Fixed a regression in freezing the
deploy_pre
/deploy_post
tasks for MetaDeploy install plans. (#2626) - Fixed bugs in the
deploy_marketing_cloud_package
task's payload construction. (#2620, #2621)