From 95db7c919c2bb03ececc8bed6f919b96607da5d9 Mon Sep 17 00:00:00 2001 From: Marcel Pufal Date: Mon, 19 Apr 2021 01:11:12 -0700 Subject: [PATCH 1/2] Prepare 3.33.0 --- HISTORY.rst | 96 +++++++++++++++++++++++++++++++++++++++++++ cumulusci/version.txt | 2 +- 2 files changed, 97 insertions(+), 1 deletion(-) diff --git a/HISTORY.rst b/HISTORY.rst index 68ef05a5b6..29d6850d2d 100644 --- a/HISTORY.rst +++ b/HISTORY.rst @@ -2,6 +2,102 @@ History ======= +3.33.0 (2021-04-19) +------------------- + +Critical Changes: + +- CumulusCI's dependency management modules have been rewritten. This + grants new capabilities and removes some existing features. + - 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 the + ``allow_newer`` option, which is always True. +- The install order ``update_dependencies`` changes slightly where + multiple levels of upstream dependency have ``unpackaged/pre`` + metadata. Where previously one package's ``unpackaged/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 in ``cumulusci.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. (#2456) + + +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 name ``service_type__global``, and any project specific services will have the name ``service_type__project_name``. (#2499) + + * 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. + +* The ``update_package_xml`` task now supports additional metadata types. (#2549) + +* The ``make coverage`` target now supports a ``CLASS_PATH`` argument to allow running coverage for a subset of tests. (#2499) + +* Added a friendly error message when a repository cannot be found when set as a Dependency or Source. (#2535) + +* The Pydantic-based CumulusCI.yml linter validates CumulusCI.yml files now. If they do not match the pattern, it will generate a warning. (#1624) + +* We made some adjustments to the ``push_sandbox`` and ``push_all`` tasks. (#2338) + +* Tasks now get access to the --debug-mode option and can output debugging information conditional on it. (#2481) + +* We cleaned up the documentation a bit. (#2524) + +* Ensured that CCI is able to connect to scratch orgs running in a local build environment by not removing the instance port. (#2501, with thanks to @force2b) + +* 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) + +* Data generation with Snowfakery: + + * Updated to `Snowfakery 1.9 `__ (#2538) + * Uses the new Snowfakery API instead of duplicating code from the Snowfakery CLI. (#2538) + +* Robot Framework: + + * The ``run task`` keyword now captures all task output in the robot log instead of printing it to stdout. (#2453) + * The command task now sets the ``return_values`` to a dictionary that contains the return code of the command that was run. (#2453) + * Documented the use of the options/options section of CumulusCI for the ``robot`` task. (#2536) + * Fixed a bug when passing robot logger as the task logger. (#2551) + +Issues Closed: + +* The ``load_custom_settings`` task now resolves a relative ``settings_path`` correctly when used in a cross-project flow. (#2523) + +* Fixed the ``min_version`` option for the ``push_sandbox`` and ``push_all`` tasks to include the ``min_version`` and not only versions greater than it. (#2338) + 3.32.1 (2021-04-01) ------------------- diff --git a/cumulusci/version.txt b/cumulusci/version.txt index 1367bf750d..949654dc3e 100644 --- a/cumulusci/version.txt +++ b/cumulusci/version.txt @@ -1 +1 @@ -3.32.1 +3.33.0 From 349ae51def89e2f8fe9c4616115a58edc7e83a00 Mon Sep 17 00:00:00 2001 From: David Glick Date: Mon, 19 Apr 2021 09:46:15 -0400 Subject: [PATCH 2/2] edit release notes --- HISTORY.rst | 105 +++++++++++++++++++++------------------------------- 1 file changed, 43 insertions(+), 62 deletions(-) diff --git a/HISTORY.rst b/HISTORY.rst index 29d6850d2d..2267d000f7 100644 --- a/HISTORY.rst +++ b/HISTORY.rst @@ -7,90 +7,71 @@ History Critical Changes: -- CumulusCI's dependency management modules have been rewritten. This - grants new capabilities and removes some existing features. - - 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 the - ``allow_newer`` option, which is always True. -- The install order ``update_dependencies`` changes slightly where - multiple levels of upstream dependency have ``unpackaged/pre`` - metadata. Where previously one package's ``unpackaged/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 in ``cumulusci.yml`` no longer - supports nested dependencies specified like this: - - dependencies: - - namespace: "test" - version: "1.0" - dependencies: - - namespace: "parent" - version: "2.2" +- 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 the ``allow_newer`` option, which is always True. + - The install order of ``update_dependencies`` changes slightly where multiple levels of upstream dependency have ``unpackaged/pre`` metadata. Where previously one package's ``unpackaged/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 -All dependencies should be listed in install order. (#2456) + 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 in ``cumulusci.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 name ``service_type__global``, and any project specific services will have the name ``service_type__project_name``. (#2499) +* 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 name ``global``, and any project-specific services will have the name ``project_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. - -* The ``update_package_xml`` task now supports additional metadata types. (#2549) -* The ``make coverage`` target now supports a ``CLASS_PATH`` argument to allow running coverage for a subset of tests. (#2499) +* A validator now checks ``cumulusci.yml`` and shows warnings about values that are not expected. (#1624) -* Added a friendly error message when a repository cannot be found when set as a Dependency or Source. (#2535) +* Added a friendly error message when a GitHub repository cannot be found when set as a dependency or cross-project source. (#2535) -* The Pydantic-based CumulusCI.yml linter validates CumulusCI.yml files now. If they do not match the pattern, it will generate a warning. (#1624) - -* We made some adjustments to the ``push_sandbox`` and ``push_all`` tasks. (#2338) - -* Tasks now get access to the --debug-mode option and can output debugging information conditional on it. (#2481) - -* We cleaned up the documentation a bit. (#2524) +* 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) -* Ensured that CCI is able to connect to scratch orgs running in a local build environment by not removing the instance port. (#2501, with thanks to @force2b) +* Adjustments to existing tasks: -* 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) + * The ``update_package_xml`` task now supports additional metadata types. (#2549) + * The ``push_sandbox`` and ``push_all`` tasks now use the Bulk API to query for subscriber orgs. (#2338) + * The ``push_sandbox`` and ``push_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 the ``assign_permission_sets``, ``assign_permission_set_groups``, and ``assign_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 the ``return_values`` to a dictionary that contains the return code of the command that was run. (#2453) * Data generation with Snowfakery: * Updated to `Snowfakery 1.9 `__ (#2538) - * Uses the new Snowfakery API instead of duplicating code from the Snowfakery CLI. (#2538) * Robot Framework: - * The ``run task`` keyword now captures all task output in the robot log instead of printing it to stdout. (#2453) - * The command task now sets the ``return_values`` to a dictionary that contains the return code of the command that was run. (#2453) + * The ``run task`` keyword now includes all task output in the robot log instead of printing it to stdout. (#2453) * Documented the use of the options/options section of CumulusCI for the ``robot`` task. (#2536) - * Fixed a bug when passing robot logger as the task logger. (#2551) + +* Changes for CumulusCI developers: + + * Tasks now get access to the ``--debug-mode`` option and can output debugging information conditional on it. (#2481) + +* ``cci org connect`` can now connect to orgs running in an internal build environment with a different port. (#2501, with thanks to @force2b) Issues Closed: