Code Monkey home page Code Monkey logo

DX@Scale Release Log

Please note only major releases will be published. Hotfix releases will be updated in each individual repository's release notes.

December 23

December 23 (v25.5.3) features the following:

sfpowerscripts

Time flies! and thanks to everyone who contributed to sfp this year. It was monumental, we reached more users with more orgs actively approaching modular development like never before

We wrap the final release of the year and wish you all a prosperous new years.

December 23 (v25.5.3) of sfp introduces the following changes, and this release is mainly possible due to all of our contributions! Keep it coming!

⭐ New Features

🪲 Bug Fixes

New Contributors

Full Changelog: https://github.com/dxatscale/sfpowerscripts/compare/@dxatscale/[email protected]...@dxatscale/[email protected]

sfops

sfops version is currently available to project sponsors. Head to https://docs.dxatscale.io/sfops/overview to learn more

📆 : Events

  • meeting(q&a): sfops - open discussion - Mon Dec 12 8:00 - 9:00 PM AEST. Register through our slack channel.

⭐ New Features

  • feat(workflow): Centralizes more workflows into sfops-gh-actions in your repositories, so you can apply to more project repositories with ease
  • feat(workflow): Branching support to workflows and dashboard
  • feat(environments): Add support for quickbuild and support development environments

🪲 Bug Fixes

  • fix(general): Multiple bug fixes

sfops is in early development cycle and continued to be updated with various bug fixes.

October 23

October 23 (v25.0.6) features the following:

⭐ New Features

  • feat(install): introduce a unified package installation command #1420

sfp features a new command called sfp package:install which can auto determine the type of a package and proceed to install in an environment. This allows users to easily install a package into an environment without using the individual package commands. The individual commands now carry a deprecation notice and will be removed from future releases

  • feat(docker): use node 18 LTS instead of the latest 20.x version

We have downgraded the docker image to use LTS version of node rather than the latest, as there was some issues noted with certain plugins. Also @rody and @ethan-sargent was able to reduce the size of the image by 1.5Gigs, this results in quicker download. Thanks a heap guys!

  • feat(browserforce): Updated browserforce to dxatscale fork

Browserforce is temporarily switched to a dxatscale fork, with the latest salesforce dependencies, We plan to submit the changes to the main stream in a short while. You might need to use --targetusername in your script if you are using the same.

🪲 Bug Fixes

  • fix(picklist): PicklistEnabler errors out if picklist doesn't exist on target org #1414 . Thanks @cjbradshaw for figuring out the issue and the fix
  • fix(packagediff): fix packages being built when the path to package start with same structure. Fixes #1396. Thanks @thraco
  • fix(help): Fix help segments not getting displayed when using sfp topic in terminal
  • Minor bug fixes in error handling in apex tests

Full Changelog: https://github.com/dxatscale/sfpowerscripts/compare/@dxatscale/[email protected]...@dxatscale/[email protected]

Contributors

Thanks to @rody, @thraco, @ethan-sargent, @cjbradshaw for your contributions in this release.

sfops

sfops beta version is currently available to project sponsors. Head to https://docs.dxatscale.io/sfops/overview to learn more

August 23

sfpowerscripts

August 23 (v24.5.0) features the following

Update to the the docker image is the key highlight for this release, We have started using ubuntu 22 as the base image as opposed to Salesforce CLI base image, due to the root issue as discussed in #1409. Finally, profile merge/retrieve makes a comeback and is available in sfp. Now you can really deprecate sfpowerkit :)

⭐ New Features

  • feat:(profiles) profile merge and retrieve is reintroduced to sfp dxatscale/sfpowerscripts#1353
  • feat(output) sfp features more richer output in .sfpowerscripts/logs folder in markdown formats, This is a work in progress feature which enables one to link markdown formatted output to your CI/CD platforms or notification platforms like Slack or Teams

🪲 Bug Fixes

  • fix(schema): update schema to remove warning around seedMetadata dxatscale/sfpowerscripts#1400
  • fix(package): install using v58.0 PackageInstallRequest parameters dxatscale/sfpowerscripts#1370
  • fix(pool): enable json flag for pool fetch command dxatscale/sfpowerscripts#1404
  • fix(docker):use lower uid in dockerfiles dxatscale/sfpowerscripts#1409
  • fix(apextests): handle conditions where test results are inaccurate from salesforce
  • fix(diff): throw error if an associated meta file is missing in repository such as *.meta-xml for a changed file such as .cls
  • fix(diff): diff package not correctly copying static resources

New Contributors

Full Changelog: https://github.com/dxatscale/sfpowerscripts/compare/@dxatscale/[email protected]...@dxatscale/[email protected]

sfops

sfops beta version is currently available to project sponsors. Head to https://docs.dxatscale.io/sfops/overview to learn more

July 23

sfpowerscripts

July23(v23.4.2) features the following

This release we focused mainly on updating to v5 @salesforce/core and updating many of the dependencies (#1366 and #1388). This will help you close many of the issues that your security team has been pestering you with on deprecated dependencies. Though sfpowerscripts is not used in the context of web application and many vulnerabilities are not really applicable, updating to the latest dependencies reduces so much friction in usage in the enterprise.

Special thanks to @rygramer for the fantastic effort in raising issues which helped to fix these dependencies easily. Another contributor that needs a special mention is @petter-eikeland, who has taken additional effort to test Release Candiates.

⭐ New Features

  • Enhancements to transitive dependency resolver to support multiple version #1226

🪲 Bug Fixes

  • PicklistAnalyzer errors out if other other non CustomField Metadata is processed first #1367
  • Bad namespaced class names from apex-node break test retry logic #1362
  • fix(triggerApexTests): second test run results are not merged #1360
  • sfp orchestrator:validate with Code Coverage Validation #1359
  • validate fails to build package when fht is enabled during fast feedback mode #1358
  • sfp orchestrator:build - Language bug upon package version creation [#1347](dxatscale/sfpowerscripts#1347)
  • orchestrator:release --dryrun still attempts to install packages [#1340](dxatscale/sfpowerscripts#1340)
  • orchestrator:build job removes too many packages from queue after single failure #1199

❤️ Contributors

We'd like to thank all the contributors who worked on this release!

June 23

dxatscale-template

All the templates have been updated to use the new sf plugin and also revised with breaking changes in sfpowerscripts, where sfpowerscripts is no longer a sfdx plugin and has to be used as direct cli command

sfpowerscripts

sfpowerscripts v22.5.5 features the following

💣 Breaking Change

Transition from sfdx plugin to npm module:

sfpowerscripts has transitioned from a Salesforce DX plugin to an npm module. It should now be installed using the command npm i -g @dxatscale/sfpowerscripts. The commands can be used directly, e.g. sfpowerscripts orchestrator:build ---. For a shorter alias, use sfp instead of sfpowerscripts.

sfpowerscripts is now independent of sfpowerkit

The new sfpowerscripts no longer relies on sfpowerkit for functionality. Any functionality that sfpowerscripts used to depend on sfpowerkit has been ported over.

Deprecations

  • This version discontinues the sfp-cli due to low usage.
  • The commands sfpowerscripts analyze:pmd and sfpowerscripts package:valid are no longer available.
  • vbt cli is no longer available in the docker image

Enhancements

Support for Picklist Deployment

sfpowerscripts now supports picklist deployment. This feature addresses Salesforce's limitation of not allowing picklist values to be deployed during unlocked package upgrades. Read more about it here https://medium.com/@gnemiq/deploy-picklists-from-unlocked-packages-102c1366664f

Support for Branches in package depdency (dxatscale/sfpowerscripts#1270 )

sfpowerscripts now supports branch attributes in dependencies, picking up the right dependencies of external packages from the right branches when being installed

Introduction of a 'Diff' Package Type

sfpowerscripts now offers a 'Diff' package type designed to facilitate organizations' transition from a monolithic structure to a modular DX@Scale model. A Diff package captures the differences in unpackaged metadata from the previous deployment, deploying only the delta. This approach allows unpackaged sections of the project to be deployed alongside packaged modules in a controlled manner .

Please note, this feature is still in early development, Please reach out if you have queries on how to use it

🪲 Bug Fixes

New Contributors

Full Changelog: https://github.com/dxatscale/sfpowerscripts/compare/@dxatscale/[email protected]...@dxatscale/[email protected]

April 23

sfpowerscripts

sfpowerscripts (v21.1.0) features the following changes

💣 Breaking Change validate command will now respect aliasified packages. This means aliasified packages which do not have a default directory will fail during validation. To fix this, either ignore the package or add a default directory to the aliasified package which is the contents that you want to deploy to the scratch origin

Enhancements feat(validate): validate will no longer display deployment options #1295 feat(metrics): new splunk metrics sender by @Rocko1204 in #1297 🪲 Bug Fixes fix(links): add $schema properties #1203 fix(fht): rollbackOnError need to be true for production #1299 fix(validate): aliasified packages are ignored in validate by #1293 New Contributors @Rocko1204 made their first contribution in #1297 Full Changelog: https://github.com/dxatscale/sfpowerscripts/compare/@dxatscale/[email protected]...@dxatscale/[email protected]

March 23

dxatscale-template

⭐ New Features (Beta)

  • *feat(VS Code Tasks): Custom vscode tasks to Fetch new Scratch Org and Pull your changes from the Scratch Org are available to be tested. Any feedbacks or contributions back to improving the tasks are welcomed from the community.
  • To start using, clone the latest main branch and go to Command Palette and enter >Tasks: Run Task and select one of the new tasks.
  • Thanks to @eneag-sf for the contributions.

sfpowerscripts

sfpowerscripts (v20.30.3) introduces the following new features more towards bringing release configuration everywhere. Release configuration can now be applied in prepare, build and deploy providing more flexibility especially when you have multiple independent teams

⭐ New Features

Deploy command now has an option to support release config, Thanks @alanjaouen for providing a detailed analysis on why this is required

image

🪲 Bug Fixes

  • fix(prepare): ensure prepare in build mode respects releaseconfig by @azlam-abdulsalam in dxatscale/sfpowerscripts#1281
  • fix(delete): Fix typo in message for when no Scratch Orgs are found by @JoeffreyChaucer in dxatscale/sfpowerscripts#1283
  • fix(fetch): SFDX Org List recognizes fetched scratch orgs as non-scratch orgs. Thanks @petter-eikeland for following it up.

New Contributors

Full Changelog: https://github.com/dxatscale/sfpowerscripts/compare/@dxatscale/[email protected]...@dxatscale/[email protected]

February 23

sfpowerscripts

February 23(v20.26.2) is all about quality of life improvements! We believe these enhancements will make your experience a bit more friendly.

⭐ New Features

  • feat(validate): display info about the org that is used for validation #1239

Displays information about the org that is used for validation. Use --orginfo flag to display information to authenticate to the org that is being currently used by the validate job. If you are using -x flag, the information is valid only during the life of the current running job

image

  • feat(validate): disable parallel testing using a flag #1255

Now you can disable parallel testing during validate across all packages using a new flag in --disableparalleltesting. Useful for scenarios when you are running full suite of tests across all the packages in a repo such as in nightly jobs and where do you need that additional consistency. This is also quite useful when you are recfactoring into writing better tests

  • feat(validate): disable source package override in validate commands [#1240]

Use --disablesourcepkgoverride in validate to build and install unlocked packages in your project as such, instead of using source packages (metadata api) while validating your packages. This will give you more accurate behaviour especially when used on a sandbox. (validateAgainstOrg).

  • feat(pool): recover orphaned scratch orgs #1234

sfpowerscripts will not utilize the description field of ScratchOrgInfo object to identify scratch orgs that are created. Using this information, the pool: delete command when coupled with --orphans flag can help you delete scratch orgs that were created but never got associated to any pools. The output is also prettified by classifying the operation

image

  • feat(prepare): Add the ability to increment retry counts in prepare [#1233]

You can attempt more retries for packages installation in prepare by adding a maxRetryCount in your pool config. sfpowerscripts will now retry the package installation the number of times specified by this option. By default it always attempt for 2 installations during prepare

  • feat(fetch) : Display error messages when fetching dev Scratch Org Pool in different git Repository for sfdx Project [#1251]
  • feat(prepare): prevent from downloading / creating artifacts that are not used while preparing without installAll #1223

🪲 Bug Fixes

sfp-cli

We are reviving sfp-cli, as a unified cli for sfpowerscripts and other functionality to come. The repository is migrated to the sfpowerscripts repository and is operated as a project in the same mono repository space. The current version is still incredibly early in development, and we will be pushing in changes faster to stabilize.

⚠️ Warning sfp-cli is still unstable and is not recommended to be in use as a daily driver. Rest assured we are furiously working on it for making it prime time

❤️ Contributors

We'd like to thank all the contributors who worked on this release!

January 23

Craft-first is a collection of open source production ready libraries and frameworks built on our experience in delivering large and complex Salesforce programs.

We are excited to release our first set of Open Source Frameworks that can be leveraged on your Salesforce Programs. Please feel free to use them on your new green field projects and/or retrofit it in your existing orgs.

🆕 Frameworks

First release of 2023 is out (v20.19.6) and is packed with goodies. Read about the new features/enhancements and bug fixes. We hope it improves your dx@scale experience significantly.

⭐ New Features

  • sfpowerscripts now support for declarative field history tracking and feed tracking. Read more on how to use this feature here @MengAQi has written a blog which details more on how this functionality work under the hoods. Check out the article here
  • Missed declaring a package dependency? sfpowerscripts now feature a transitive dependency resolution which fills in the gaps. Don't like it, use disableTransitiveDependencyResolver:false to turn this feature off. Read more about the feature here
    "plugins": {
            "sfpowerscripts": {
                "disableTransitiveDependencyResolver": true
            }
    
  • 3 New additional commands to help with dependency management, with more enhancements slated for upcoming releases. These commands are in the dependency topic
Commmand Description
dependency: expand Expand the dependency list in sfdx-project.json file for each package, fix the gap of dependencies from its dependent packages
dependency: shrink Shrink the dependency list in sfdx-project.json file for each package, remove duplicate dependencies that already exist in its dependent packages
dependency: install Install all the external dependencies of a given project

⭐ Enhancements

  • Add support for sfpowerscripts orchestrator extensions to unlocked packages #1204
  • Additional parameters to pre/post script to manipulate contents of a package #1196
  • Publish command to push only packages version tags #1183
  • Create scratch orgs in parallel during prepare #1142
  • More concise logs, by removing borders around tables

🪲 Bug Fixes

  • pool. Available metrics not reporting poolname #1214
  • Unpackaged metadata not provided to sfdx build in newest sfpowerscripts version #1202
  • GitLab NPM Scope adds second @ in orchestrator:release #1200
  • releasedefinition:generate does not generate "promotePackagesBeforeDeploymentToOrg" attributes correctly to Release Definition File #1180
  • Quickbuild command is not respecting .forceIgnore specific file #1178
  • Publish command tags HEAD instead of artifact commit ID #983

New Contributors

Full Changelog: https://github.com/dxatscale/sfpowerscripts/compare/@dxatscale/[email protected]...@dxatscale/[email protected]

sfpowerkit(v6.1.0) - January 23

💥 Deprecation Notice - March 2023

Added deprecation notice on commands as sfpowerkit is being discontinued in March 2023 completely. Please keep an eye on the repo for alternate suggestions and commands

November 22

sfpowerscripts(v20.2.6) features the following

💣 Breaking Changes

  • Additional new modes for validate command [#1133]

We heard you loud and clear, that you need flexibility with validate command depending on the type of repository and project configuration. On some projects you would need to limit your validation boundary, only validate a changed package etc, we support it all. Read more here.

Unfortunately, that means we had to break up the command line parameters, a new flag called mode is added (defaults to thorough) to access other modes

  • NPM Scope Names [#1168]

This release breaks the behaviour of how we handle scope names for NPM Package Registries. Please review and update your YAML configuration files in your pipelines if you encounter any issues authenticating to your package registry with the scope using the '@' and remove the '@' prefix as needed in your environment variables to ensure orchestrator commands execute successfully. We are working to bring back functionality to handle this and make it uniform across platforms in the near future.

⭐ New Features

  • Create pools with a set of specified artifacts[#978]

Utilize release config to limit the artifacts installed in scratch orgs and use the same in validate command. We would also like to thank @domrycz for contributing majority code for the feature and testing the early releases

  • [Beta] 'validate' to identify fix incorrect transitive dependencies #855.

Add enableTransitiveDependencyResolver:true, to the plugins section of sfdx-project.json will enable this feature.

 "plugins": {
        "sfpowerscripts": {
            enableTransitiveDependencyResolver:true // enable transitive dependency resolution 
            "ignoreFiles": {
                "prepare": ".forceignore",
                "validate": ".forceignore",
                "quickbuild": "forceignores/.quickbuildignore",
                "build": "forceignores/.buildignore"
            }
        }
    }

  • Utilize packaging lib for all package related operations, this removes the dependency on sfdx-cli #1121.

⭐ Enhancements

  • Prepare command creates too many Scratch Orgs when using snapshot pool #1105 Thanks @domrycz for figuring out the missed scenario

🪲 Bug Fixes

  • Issue when publishing "big" artifacts #1149. Thanks to @alanjaouen for raising the issue as well as PR to fix it
  • Artifacts aren't pulled correctly releasedefinition:generate #1140 @Schuchie
  • Scratch Org Pool creation script failing "Unable to execute command .. Error: Can't find package id for dependency: 04txxxx" #1113[eneag-sf] @eneag-sf
  • Update core libs to fix 'org not found' issues during lengthy deployments

Full Change Log: https://github.com/dxatscale/sfpowerscripts/compare/@dxatscale/[email protected]...@dxatscale/[email protected]

sfpowerkit(v6.0.1) features the following

What's Changed

  • [#744]-Getting text 'Config folder does not exists, Creating Folder' with --json param by @VertikaGoyal in dxatscale/sfpowerkit#745

Full Changelog: https://github.com/dxatscale/sfpowerkit/compare/v6.0.0...v6.0.1

September 22

sfpowerscripts(v19.7.3) features the following

⭐ New Features

  • Support for multiple release definitions

    Release command now supports multiple release definition as input. This allows a release manager to composite releases from different domains more easily and release them in a single transaction.

⭐ Enhancements

  • Ability to skip all external package dependencies while generating a release definition

    When you are generating release definitions using multiple filters to composited later, external package dependencies might get repeated and it may also not be required for every files. Now release definition generator have an additional parameter excludeAllPackageDependencies:<boolean> to skip package dependencies being added to generated release defnitions.

  • Utilize sfdx cli docker image as the base and minor docker improvements

    We are switching to utilising sfdx-cli as the base docker image. This reduces the image size and provides better stability in fixating on the version of the cli

  • Makes logs more concise and easy to read

    Logs have been made much more concise to read and interpret in various commands. This will help in readability

  • Auto Log Grouping

    Logs are now automatically grouped for Github Actions, Gitlab, Buildkite and Azure Pipelines even if the '-g (loggroup)' flag is not used

🪲 Bug Fixes

  • Release fails if its unable to push a changelog
  • If 2 failing test methods have the same name, they get removed from test results (#1111) Thanks @Chiqqn and @domrycz for raising the issue and fixing the same
  • Incorrect Error Handling on Deployment Failure during validate (#1123)

Full Changelog: https://github.com/dxatscale/sfpowerscripts/compare/@dxatscale/[email protected]...@dxatscale/[email protected]

sfpowerkit(v6.0.0) features the following

⚠️ Deprecation

sfpowerkit:org:destruct is deprecated in this release and will no longer be supported as per deprecation notice here: https://github.com/dxatscale/sfpowerkit/issues/722

🪲 Bug Fixes

New Contributors

  • @davidzheng1310 made their first contribution. Thanks David!! 💃 💥

Full Changelog: https://github.com/dxatscale/sfpowerkit/compare/v5.0.0...v6.0.0

August 22

⭐ New Features

  • Generate Release Definition Automatically

Last release we announced a beta version of 'releasedefinition:generate'. While the idea was solid, the command lacked flexibility and it was put back to the drawing board. This release we have created a whole new of way interacting with the command. Read more about it in the descision record here . Documentation is updated on how to use this command as well. Check out the link here. Thanks to @Schuchie for the feedback

  • Support for Distinct Scratch Org Definitions

You might need to use this feature very rarely, but if the need arises, you have it. This feature allows a user to specify a unique scratch org config file for building a package. When the feature is enabled and the package name is matched, the build command will use specified config file for that package. Read more about it here

⭐ Enhancements

  • Enhanced Package Dependencies Installation

sfpowerscripts no longer utilise the 'sfpowerkit:package:dependencies:install' to install dependencies. A new implementation is being utilised by validate/prepare/release commands. This command utilise the same dependency resolver used by package and removes lot of technical debt.

  • Change in dependencies installation order

validate will no longer install all the external dependencies upfront. External dependencies will only be installed if the required package has to be validated and it will be installed just in time. This will make help with further increasing the speed of validate especially in thorough mode and change in package dependencies

  • Skip package installations if a higher version is already installed

sfpowerscripts will now skip external dependencies such as managed package thats gets automatically upgraded in the target org. Unfortunately this can only work after noticing a failed installation in the org and reading the error message. Read more about the discussion here (https://github.com/dxatscale/sfpowerkit/issues/602)

Installing Package Salesforce CPQ in [email protected]
A higher version of this package is already installed and can't be downgraded, skipping
  • Add support for multiple work item filters in changelog

Release definition files now support multiple work item filters, using the `workItemFilters', which expect an array of regex pattern filters. The changelog will pick up work items that match all the patterns

🪲 Bug Fixes

  • We have fixed few internal defects as well

Full Changelog: https://github.com/dxatscale/sfpowerscripts/compare/@dxatscale/[email protected]...@dxatscale/[email protected]

sfpowerkit (v5.0.0) features the following

🪲 Bug Fixes

  • fix: Issue #713 where profile:reconcile was removing tag incorrectly by @genoud in dxatscale/sfpowerkit#715
  • fix: Issue #694 impacting tab visibilities on profile:reconcile command by @genoud in dxatscale/sfpowerkit#711
  • fix: Issue #727 where permissions for VF pages were returning an error for the profile:merge command by @VertikaGoyal
  • fix: Issue #729 where a scratch org alias is not returned to be used in script execution

⚠️ Deprecation

sfpowerkit:org:manifest:build is deprecated in this release and will no longer be supported as per deprecation notice here: https://github.com/dxatscale/sfpowerkit/issues/644

Contributors

  • @VertikaGoyal made their first contribution in dxatscale/sfpowerkit#727 👀 👀 💥
  • @genoud as always, the profile master has saved the day 🎈 🎉

Full Changelog: https://github.com/dxatscale/sfpowerkit/compare/v4.2.13...v4.2.14

July 22

⭐ New Features

image

  • Handle Entitlements with ease, sfpowerscripts now feature a smart entitlement filtering. To read more on how it works. Follow the link here . Thanks @MengSQi for helping us with the implementation
  • Support .NEXT for Source/Data Packages #1065. .NEXT will be replaced by build number during the build of source/data packages. This would remove the validation errors when you have forgotten to set the last digit as '0'
  • Hooks for "Prepare" command via scripts #991. This allows to tweak the prepared scratch orgs further. Read more here
  • [BETA Feature] Now generate release definition based on a source org. Try this command out and keep the feedbacks coming. image

🪲 Bug Fixes

  • Fix for #1075 skipTesting is not respected when optimizedDeployment is false. Thanks to @sumanth-bolledla-acn for the extensive tests on this one
  • Fix for #942 scratch org creation now supports ObjectSettings
  • Fix for #1085 Downgrade sfdx data plugin to 2.0.0 in docker image
  • Fix for #1086 to changelog: generate command

⚠️ Local Installation Advice (if not using docker)

We have migrated the underlying libraries to utilize @salesforce/core v3 and @jsforce: 2.0.0. Please uninstall existing plugin before installing the newer version.

Full Changelog: https://github.com/dxatscale/sfpowerscripts/compare/@dxatscale/[email protected]...@dxatscale/[email protected]

June 22

sfpowerscripts(v15.3.2) features the following

⭐ New Feature

  • sfpowerscripts is now able to use multiple stages for prepare. This will help you to circumvent timeouts on cloud hosted agents of most ci/cd platforms. Read on more about the feature here.

    Also check the decision record to understand the reasoning.

    image

⭐ Enhancements

  • Return unused/rolled back scratch orgs to the pool #989. For this enhancement to work, please ensure sfpower-scratchorg-pool package is updated. Read on the instruction on how to update here
  • Add info about optimised deployment during deployment dxatscale/sfpowerscripts#994
  • Add support for unpackaged metadata in unlocked packages #958
  • Ignore packages without a package name attribute #842
  • Log resolved package dependencies during build dxatscale/sfpowerscripts#1058
  • Additional metrics for individual scratch orgs in pool. Check metrics docs for details

🪲 Bug Fixes

  • No clear error when package name exceeds 38 characters #998
  • Provide more descriptive error message when it is unable to compute diff during build #965
  • Warning message is not displayed when tests are skipped explicitly #919
  • Incorrect Dependencies might be used during build stage #496
  • No Metrics while using fast feedback

❗ Deprecation Warning

  • Docker Images are now published and maintained in sfpowerscripts repository. Ensure that you update your ci/cd templates to reference the github registry container going forward. Future releases will no longer support docker hub container updates and potentially remove it completely.

Full Changelog: https://github.com/dxatscale/sfpowerscripts/compare/@dxatscale/[email protected]...@dxatscale/[email protected]

sfp-cli(v3.1.0) updated with several bug fixes and added a shortcut to force push changes to the org

May 22

sfpowerscripts(v13.6.16) features the following

⭐ New Features

  • Introducing fast feedback mode, Now run your validation checks more faster by selectively deploying only the changed components of the package and triggering only the impacted test class. Read the decision record here. You can turn on fast feedback by adding the --fastfeedback flag in the validate command. We believe this change along with upcoming changes in 'prepare' will ensure the validation experience remains performant.

image

  • We would like to thank @nawforce for his amazing work on apex-link and apex-parser which powers our apex related workflows.

⭐ Enhancements

  • Minor enhancements to logging to be more descriptive especially with aliasified folders
  • Refactoring to core libs for easier maintenance

🪲 Bug Fixes

  • fix paths to pre and post deployment scripts when executed without repository - Fix #954
  • support publishing artifacts greater than 5 MB - Issue #967
  • sfdx sfpowerscripts:orchestrator:prepare shows errors in GitHub-Action - Issue #955
  • Fail to fetch requested information when query is too long - Issue #860
  • Display folder used while deploying to an org in aliasified mode
  • Publish to tag packages that are successfully published even when other packages are failed
  • Fix log times to display milliseconds, when source packages are being built. It usually displays as 00:00:00

📘 Full Change Log

sfpowerkit (v4.2.8) features the following

Notice

This version of sfpowerkit continues to use better-sqlite to do caching during profile reconciliation. Due to usage of this dependency, while installing sfpowerkit, you need to have node-gyp installed on your docker image/machine. Refer to issues #645 and #646. We are analyzing on how we can better address this. PR's are welcome

To install node-gyp, please follow the instructions here.

🪲 Bug Fixes

  • Fix reconcile for child metadata (e.g. Custom Fields) - Issue #662
  • Fix if some tags are not available
  • Fix where files with special characters were not merged properly - Issue #583
  • Fix where reconcile was removing a valid layout type - Issue #669

Docker Images are now published from sfpowerscripts repository. The recommended container registry going forward would be ghcr.io. You can read more about using the latest docker images here.

  • sfdx-cli - 7.145.0
  • sfpowerscripts - 13.6.16
  • sfpowerkit - 4.2.8
  • pmd - 6.39.0
  • sfdmu - 4.13.0
  • vbt - 1.15.2
  • sfdx-browserforce-plugin - 2.8.0

The images are available at the following link.

April 22

sfpowerscripts(v13+) features the following:

💣 Breaking Changes

  • Changes to the SFDX CLI source tracking #817, Require sfdx-cli 7.144.2 and above. We now support the latest source tracking enhancements released by the salesforce cli team.
  • We are migrating sfpowerscripts to utilize underlying libraries open source by salesforce cli team, as opposed to wrapping around cli commands. We have completed the migration for most of the areas. You can read more about it here.

⭐ New Features

  • During validate, sfpowerscripts will automatically retry test class that fail in asynchronous mode to be executed synchronously. You can read the decision record on how it works here
  • Introducing 'testSynchronous' , a new property which will let sfpowerscripts know that whether to execute a particular package in synchronous mode. This allows validation to be run in different modes for different packages
  • The following diagram depicts the new features in sfpowerscripts for Apex Test Validation ProcessApexTestInPackage
  • In addition, refer to the article on Salesforce Apex Test Execution Performance Tuning for a deeper dive into the topic.
  • Signed Docker Images served from ghcr.io. Read more on it here

⭐ Enhancements

  • Add an option to Pool Configuration for Scratch Org creation time #903
  • Add an environment variable SPFOWERSCRIPTS_DEFAULT_SHELL to select shell #873
  • Clear code coverage and existing test result before test execution #871
  • Add support for diffcheck parameter in validateAgainstOrg command #800
  • Improved display of contents of a package #553

🪲 Bug Fixes

  • Display artifacts installed in the order of committed #929
  • Remove unsupported entities from sfdx-project.json #921
  • Prepare command failing due timeout #893
  • Override API version for unlocked and source package installation #885
  • Error Plugin: @dxatscale/sfpowerscripts: Cannot find module 'node:process' #874
  • Orchestrator Deploy Error TypeError: Cannot read properties of null (reading 'match') #872
  • Fail to Install sfpowerscripts in a 'M1' ARM powered Mackbook #864
  • Fix for misleading error message for prepare cmd #851
  • orchestrator validate step getting different code coverage from the same ci pool #836
  • Add support for api version in source convert #884

sfpowerkit (v4.2+) features the following

Notice

This version of sfpowerkit continues to use better-sqlite to do caching during profile reconciliation. Due to usage of this dependency, while installing sfpowerkit, you need to have node-gyp installed on your docker image/machine. Refer to issues #645 and #646. We are analyzing on how we can better address this. PR's are welcome

To install node-gyp, please follow the instructions here.

⭐ Enhancements

  • Update in logger used to a simpler one, you will notice a change in the format and colors #633
  • Ability to specify prefix for ScratchOrg's Aliases #648
  • Remove Requirement for MetadataAPI access in #642. Thanks @yippie for raising this issue

🪲 Bug Fixes

  • Fix for sfpowerkit:source:profile:reconcile -s fails with error: Cannot read property 'getUsername' of undefined #637. @busybox0 @lram-11

** Full Changelog**: https://github.com/Accenture/sfpowerkit/compare/v4.1.5...v4.2.5

Docker Images are now published from sfpowerscripts repository. The recommended container registry going forward would be ghcr.io. You can read more about using the latest docker images here.

  • sfdx-cli - 7.145.0
  • sfpowerscripts - 13.0.11
  • sfpowerkit - 4.2.5
  • pmd - 6.39.0
  • sfdmu - 4.13.0
  • vbt - 1.15.2
  • sfdx-browserforce-plugin - 2.8.0

The images are available at the following address. https://github.com/orgs/dxatscale/packages/container/package/sfpowerscripts

DX@Scale templates (April-22) have the following updates

  • Utilize ghcr.io as the default registry
  • Change on authentication approach used in github templates #21

February 22

February 22 (v10.2.13) features the following fixes. We have also updated to the latest npm dependencies.

🪲 Bug Fixes

Full Changelog: https://github.com/Accenture/sfpowerscripts/compare/@dxatscale/[email protected]...@dxatscale/[email protected]

February 22 for sfpowerkit(v4.1.3) features the following changes.

We have changed the way profile:reconcile works under the hood to make it more faster during bulk reconcile operation. Please do let us know if there are any regressions, though we have taken all cares to test it. Refer to #629 #622. We also have updated npm dependencies used by sfpowerkit in line with latest 'snyk|dependabot' reviews

⭐ Enhancements

🪲 Bug Fixes

Full Changelog: https://github.com/Accenture/sfpowerkit/compare/v4.0.3...v4.1.3

We are releasing a beta version of the CLI for developers who utilizes DX@Scale in their projects. We hope this would simplify adoption of DX@Scale practices in your projects by combining git and sfdx into a single worflow

Docker Images updated for February Release

  • sfdx-cli - 7.136.2
  • sfpowerscripts - 10.2.13
  • sfpowerkit - 4.1.3
  • sfdmu - 4.12.7
  • sfdx-browserforce-plugin - 2.8.0
  • vlocity - 1.14.19

Full Changelog: https://github.com/dxatscale/docker-sfpowerscripts/compare/December21...February22

December 21

December 21 (v10.2.0) features the following features and fixes

💣 Breaking Changes

  • For wider compatibility across build systems, we have changed execution of scripts using shell as opposed to bash. Refer to the issue raised by @gretarvp #745. Any specific pre/post scripts using bash specific commands/features must be refactored.
  • We have deprecated npmTag across all the stages. Please utilize LATEST_GIT_TAG or LATEST_TAG in release definition files #687
  • Package diff check no longer builds packages when there is a change in scratch org configuration. Users are recommended to update version numbers of the package that need to be rebuilt. #780

⭐ New Features

  • sfpowerscripts is now able to validate dependencies in 'validate' stage, surfacing dependency issues early. This is an 'alpha' feature and we are collecting feedback across projects. Please check additional options in the validate command to enable this feature. We will be iterating on this feature in subsequent releases #764
  • vlocity record based configuration is now supported as a data package #633. Read more about how to use vlocity here data-packages

🪲 Bug Fixes

  • Fix an issue with workitem metrics being reported incorrectly in a release #777
  • Dry Run in release command is installing package dependencies #774
  • Test Class parser doesn't detect classes with SOQL Queries UPDATE VIEWSTAT & UPDATE TRACKING #724
  • validateAgainstOrg no longer utilizes diffCheck, removing any needs of workaround #754

Full Changelog: https://github.com/Accenture/sfpowerscripts/compare/@dxatscale/[email protected]...@dxatscale/[email protected]

December21(v3.4.0) features the following fixes and enhancements

⭐ : Enhancements

  • A new banner for every command in sfpowerkit that make its easy to report issues @henry88lay in dxatscale/sfpowerkit#598. To disable this header please use export SFPOWERKIT_NOHEADER=true

🪲 Bug Fixes

  • Fixed a regression Bad XML format for packaging permissions when downloading profiles in new versions [#596]

Other Announcements

Full Changelog: https://github.com/Accenture/sfpowerkit/compare/v3.3.4...v3.4.2

Docker Images updated for December Release

  • sfdx-cli - 7.129.0
  • sfpowerscripts - 10.2.0
  • sfpowerkit - 3.4.2
  • sfdmu - 4.10.3
  • sfdx-browserforce-plugin - 2.7.1
  • vlocity - 1.14.16

Full Changelog: https://github.com/dxatscale/docker-sfpowerscripts/compare/November21...December21

November 21

v3.3.4 features the following fixes and enhancements

⭐ : Enhancements

  • feat(pmd): bump PMD to 6.39.0 and add missing rules

🪲 Bug Fixes

  • fix: Package valid command exit code when package flag is given #586
  • fix: Profile user permission not being pulled down correctly during retrieve #577

❤️ Contributors

We'd like to thank all the contributors who worked on this release!

  • We have refactored Install Packages and Create Packages to make maintenance easier #731 #746 and #743.
  • There is a breaking change in the pool schema, Pools will succeed on deployment errors by default, as many of you have asked us to make the maintenance easier and this is the default approach followed on many projects #755

⭐ Enhancements

  • Added headers to all commands with sfpowerscripts version and release #735

🐞 Bug Fixes

  • assignPermSetsPostDeployment to be executed after postDeploymentScript #729
  • Remove sfpowerscripts orchestrator constructs from unlocked package #738
  • Fix profile redeployment for source package installations #744
  • 'default' folder not getting deployed on aliasified packages #753
  • Fix apex test metrics being reported incorrectly #750
  • Fix Typo in pool list command #714
  • Hold a deployment of package till permission set groups are updated #732

Full Changelog: https://github.com/Accenture/sfpowerscripts/compare/@dxatscale/[email protected]...@dxatscale/[email protected]

Docker Images updated for November Release

  • sfpowerscripts - 9.3.6
  • sfpowerkit - 3.3.4

Full Changelog: https://github.com/dxatscale/docker-sfpowerscripts/compare/October21.3...November21

dxatscale's Projects

cytosnap icon cytosnap

A Node.js package that renders images of Cytoscape.js graphs on the server using Puppeteer

dxatscale icon dxatscale

Consolidated repository for discussion, issues and releases across dxatscale projects

dxatscale-template icon dxatscale-template

DX@Scale Repository template including starter pipelines for major CI/CD platforms

forcemula icon forcemula

Parse your Salesforce formulas and extract fields, operators and functions.

sfdc-soup icon sfdc-soup

The best API to understand your Salesforce dependencies

sfdx-data-move-utility icon sfdx-data-move-utility

The advanced Salesforce Data Loader SFDX Plugin (SFDMU) will assist you to populate your org (scratch/development/sandbox/production) with data imported from another org or CSV files. Supports Delete, Insert, Update and Upsert for multiple related sObjects.

sfpowerkit icon sfpowerkit

A Salesforce DX Plugin with multiple functionalities aimed at improving development and operational workflows

sfpowerscripts-artifact icon sfpowerscripts-artifact

A lightweight unlocked package used to keep record of the sfpowerscripts artifacts that have been installed in a salesforce org

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.