Skip to content

Releases: SFDO-Tooling/CumulusCI

3.43.0

02 Sep 17:52
9ca3489
Compare
Choose a tag to compare

Critical Changes

  • We now support all package installation options for the update_dependencies and install_managed tasks, including activate_remote_site_settings, security_type, name_conflict_resolution, and password (password not available for update_dependencies). (#2811)

    We also fixed a minor inconsistency in defaulting the activate_remote_site_settings (or formerly activateRSS) option. Projects that define custom tasks based on the InstallPackageVersion class should ensure they explicitly set the activate_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 a resolution_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 the production resolution strategy. (#2807)
  • Added several new tasks for configuring Marketing Cloud: marketing_cloud_create_subscriber_attribute, marketing_cloud_create_user, and marketing_cloud_update_user_role. (#2838)
  • In the mapping file for the load_dataset task, the batch_size can now be specified for Bulk API steps in addition to REST API steps. (#2813)
  • The snowfakery task now supports the ignore_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 the metadeploy_publish task where explicitly setting the option to False 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

  • CumulusCI has improved infrastructure for its own integration tests. (#2783)
  • Filing a CumulusCI issue on GitHub now presents a form to enter details. (#2829)
  • Added a linter to ensure consistent formatting of YAML files within the CumulusCI codebase. (#2844)

v3.42.0

19 Aug 15:54
73630f8
Compare
Choose a tag to compare

3.42.0 (2021-08-19)

Critical Changes

  • The github_release task now requires the tag_prefix option to be passed. (#2792)
  • The github_copy_subtree task now requires a tag_name option to be passed. (#2792)
  • The github_copy_subtree task option version has been deprecated (use the tag_name option instead). (#2792)

Changes

  • uninstall_packaged_incremental now defaults to ignoring non-deletable CustomObjectTranslation metadata. If your project customizes the ignore_types option on uninstall_packaged_incremental, we recommend you add CustomObjectTranslation to this option. (#2790)

Issues Fixed

  • Fixed an issue where bulk job results were being miscounted. (Thanks @sfdcale!) (#2789)
  • Fixed an issue where GitHub tags for 2GP package would always include the "release" prefix (even for Beta packages). (#2792)

3.41.0

05 Aug 18:36
2379746
Compare
Choose a tag to compare

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

22 Jul 22:45
0c3d127
Compare
Choose a tag to compare

Issues Closed

  • Fixed an issue where a missing dependency was causing the homebrew installer formula to break.

3.40.0

22 Jul 22:10
28eedf6
Compare
Choose a tag to compare

Critical Changes

  • The create_package_version task no longer creates Unlocked Packages from the unpackaged/pre and unpackaged/post directories of dependencies, or local unpackaged/pre directories by default. This behavior is now opt-in via the create_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 for LeadStatus. (#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 supports objectSettings 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

14 Jul 18:57
52c5d48
Compare
Choose a tag to compare

Changes:

  • Fix a bug with the integration of CumulusCI and the new SOQLQuery
    Feature

3.39.0

08 Jul 20:08
348960d
Compare
Choose a tag to compare

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 the include_protected_schema option. (#2712)
  • The generate_data_dictionary task now parses object and field metadata anywhere in a Salesforce DX release other than in the unpackaged/ 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 custom package.xml. Projects that use a custom package.xml with update_admin_profile should update their manifest to include a CustomTab wildcard for the same outcome. (#2699)
  • Fixed an issue where the dx, dx_push, and dx_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

24 Jun 20:08
0d562a3
Compare
Choose a tag to compare

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 name built-in and cannot be renamed or removed. (#2664)
  • The generate_data_dictionary task includes a new option, include_prerelease. If set to True, 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 a soql_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 display None 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

10 Jun 16:26
9a52c47
Compare
Choose a tag to compare

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

27 May 23:52
eeffb64
Compare
Choose a tag to compare

Changes

  • Added the option tag_prefix to the github_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

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 to cci 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 at login.salesforce.com instead of test.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)