Skip to content

Releases: hardisgroupcom/sfdx-hardis

v5.0.1

23 Sep 06:59
Compare
Choose a tag to compare

sfdx-hardis-banner

v5 Refactoring explanations

The future deprecation of sfdx force:source:** commands on 6 november finally convinced us to switch everything from SFDX core to SF CLI core. (otherwise existing CI/CD pipelines would not work anymore from this date !)

Therefore, sfdx-hardis required a complete refactoring as described below, but this won't impact existing CI/CD and Monitoring pipelines.

We made many tests but risk zero do not exist, so if you see any bug, please report them ASAP and we'll solve them quickly :)

Major changes

  • Migrate plugin from SFDX plugin core to SF Cli Plugin core

  • Change background calls to legacy sfdx commands to call their SF Cli replacements

    • sfdx force:mdapi:convert -> sf project convert mdapi
    • sfdx force:mdapi:deploy -> sf project deploy start --metadata-dir
    • sfdx force:source:retrieve -> sf project retrieve start
    • sfdx force:source:deploy -> sf project deploy start
    • sfdx force:source:pull -> sf project retrieve start
    • sfdx force:source:push -> sf project deploy start
    • sfdx force:source:tracking:clear -> sf project delete tracking
    • sfdx force:source:manifest:create -> sf project generate manifest
    • sfdx sgd:source:delta -> sf sgd:source:delta
    • sfdx force:org:create -> sf org create sandbox | sf org create scratch
    • sfdx force:org:list -> sf org list
    • sfdx force:org:delete -> sf org delete scratch
    • sfdx config:get -> sf config get
    • sfdx config:set -> sf config set
    • sfdx auth:web:login -> sf org login web
    • sfdx auth:jwt:grant -> sf org login jwt
    • sfdx auth:sfdxurl:store -> sf org login sfdx-url
    • sfdx org:login:device -> sf org login device
    • sfdx force:data:record:get -> sf data get record
    • sfdx force:data:record:update -> sf data update record
    • sfdx force:data:soql:query -> sf data query
    • sfdx force:data:bulk:delete -> sf data delete bulk
    • sfdx alias:list -> sf alias list
    • sfdx alias:set -> sf alias set
    • sfdx force:apex:test:run -> sf apex run test
    • sfdx force:apex:execute -> sf apex run
    • sfdx force:package:create -> sf package create
    • sfdx force:package:version:create -> sf package version create
    • sfdx force:package:version:delete -> sf package version delete
    • sfdx force:package:version:list -> sf package version list
    • sfdx force:package:version:promote -> sf package version promote
    • sfdx force:package:installed:list -> sf package installed
    • sfdx force:package:install -> sf package install
    • sfdx force:user:password:generate -> sf org generate password
    • sfdx force:user:permset:assign -> sf org assign permset
    • sfdx hardis:_ -> sf hardis:_
  • New wrappers commands for SF Cli deployment commands

    • sf hardis project deploy validate -> Wraps sf project deploy validate
    • sf hardis project deploy quick -> Wraps sf project deploy quick
    • sf hardis project deploy start -> Wraps sf project deploy start

New Features / Enhancements

  • hardis:project:deploy:smart
    • New feature useSmartDeploymentTests: Improve performances by not running test classes when delta deployment contain only non impacting metadatas, and target org is not production
    • Rename command hardis:project:deploy:source:dx into hardis:project:deploy:smart (previous command alias remains, no need to update your pipelines !)
  • commandsPreDeploy and commandsPostDeploy
    • New option context for a command, defining when it is run and when it is not: all (default), check-deployment-only or process-deployment-only
    • New option runOnlyOnceByOrg: If set to true, the command will be run only one time per org. A record of SfdxHardisTrace__c is stored to make that possible (it needs to be existing in target org)
  • New commands
    • hardis:project:deploy:simulate to validate the deployment of a single metadata (used by VsCode extension)
    • hardis:org:diagnose:releaseupdates to check for org Release Updates from Monitoring or locally
    • hardis:misc:purge-references to partially automate the cleaning of related dependencies when you need to delete a field, or change its type (for example from master detail to lookup)
    • hardis:project:clean:sensitive-metadatas to mask sensitive metadatas from git repo (ex: Certificate content)
  • hardis:work:save and hardis:project:deploy:sources:dx: Improve runtime performances thanks to internalization of sfdx-essentials commands
  • hardis:work:new
    • Allow to add labels in property availableTargetBranches, using a comma. For examples, - integration,Choose this branch if you are on the BUILD side of the project !
    • Add current default org in the choices when prompting which org to use
  • hardis:project:new
    • Initialize autoCleanTypes with destructivechanges, flowPositions and minimizeProfiles
    • Initialize package-no-overwrite.xml with Certificate metadata. (certificates must be uploaded manually)
  • hardis:org:files:export: Improve display with spinner
  • hardis:org:purge:flow: If FlowInterview records are preventing Flow Versions to be deleted, prompt user to delete Flow Interviews before trying again to delete Flow Versions
  • hardis:project:generate:gitdelta: Add option to generate package.xml related to a single commit
  • hardis:org:data:delete: Check for property "runnableInProduction" in export.json before running deletion in production org.
  • hardis:org:diagnose:audittrail: Add new filtered actions
    • Customer Portal: createdcustomersuccessuser
  • Authentication: do not use alias MY_ORG anymore + do not update local user config if no values to replace.
  • When selecting an org, make sure it is still connected. If not, open browser so the user can authenticate again.
  • Update sfdx-hardis Grafana Dashboards to import in your Grafana Cloud
    • SF Instance name
    • Next platform upgrade
    • Release Updates to check
    • Installed packages
    • Org licenses
  • AI Deployment assistant
    • Add error Change Matching Rule
  • Git Providers
    • On Pull Requests / Merge Requests comments, add hyperlinks to errors documentation URL

Fixes

  • Avoid error when removing obsolete flows (workaround using SF CLI if tooling api connection fails). Fixes #662
  • Improve Slack/Teams notifications display
  • Display explicit error message in case a password is required to install a managed package.
  • minor mega-linter fixes by @readeral in #767
  • Schema fix by @readeral in #772

Documentation

  • Reorganize README content
    • Add link to Dreamforce 24 session
  • Deployment assistant: Improve documentation by adding examples of errors, and a standalone page for each tip
  • Factorize the definition of DOC_ROOT_URL https://sfdx-hardis.cloudity.com

Deprecations

  • Deprecate wrapper commands matching sfdx commands that will be removed. All replaced by sf hardis deploy start

    • sfdx hardis:source:push
    • sfdx hardis:source:deploy
    • sfdx hardis:mdapi:retrieve
    • sfdx hardis:mdapi:deploy
  • Deprecate hardis:deploy:sources:metadata as nobody uses metadata format anymore

Removals

  • Replace puppeteer by puppeteer-core: it means that if you use a command requiring puppeteer, please make sure to have a Chrome available in your environment (already integrated within the Docker image)

  • Get rid of sfdx-essentials plugin dependency by internalizing its used commands

    • sf hardis:packagexml:append
    • sf hardis:packagexml:remove
    • sf hardis:project:clean:filter-xml-content
  • Remove npm dependencies (some of them not maintained anymore)

    • @adobe/node-fetch-retry
    • @amplitude/node
    • @keyv/redis
    • @oclif/command
    • @oclif/config
    • @oclif/errors
    • @salesforce/command
    • @salesforce/ts-types
    • find-package-json
    • node-fetch
  • Remove not used keyValueStores to keep only Salesforce one

VsCode Extension

VsCode SFDX Hardis has already been released !

https://github.com/hardisgroupcom/vscode-sfdx-hardis/releases

New Contributors

Full Changelog: v4.53.0...v5.0.1

v4.53.0

20 Aug 14:00
Compare
Choose a tag to compare

What's Changed

  • Upgrade workflows to Node 20 (fixes #668)
  • Simplify login prompts messages (fixes #667)
  • Upgrade to MegaLinter v8 (own workflows + template workflows)
  • Update monitoring commands documentation
  • Upgrade npm dependencies
    • axios
    • inquirer
    • moment
    • open
    • ora
    • @supercharge/promise-pool
    • remove strip-ansi dependency to build local function

Pull Requests

  • Upgrade workflows, MegaLinter, npm dependencies & simplify login prompts by @nvuillam in #669

Full Changelog: v4.52.1...v4.53.0

v4.52.1

15 Aug 17:50
Compare
Choose a tag to compare

What's Changed

Full Changelog: v4.52.0...v4.52.1

v4.52.0

02 Aug 13:36
Compare
Choose a tag to compare

What's Changed

  • Minimum Node version is now 20
  • hardis:work:save : Improve performances when cleaning project files
  • Update Pipelines to add NOTIF_EMAIL_ADDRESS where it was missing
  • Remove MS_TEAMS_WEBHOOK_URL from all pipelines as MsTeamsProvider is deprecated (use EmailProvider instead)
  • Remove some useless code in EmailProvider
  • Replace glob-promise by glob package

Pull Requests

Full Changelog: v4.51.0...v4.52.0

v4.51.0

01 Aug 14:38
Compare
Choose a tag to compare

What's Changed

  • Deprecate Microsoft Teams Web Hooks notifications
  • Handle bug when a branch .sfdx-hardis.yml config file is empty
  • Upgrade default API version to 61
  • Additional log when generating manifest package.xml from org
  • Add error tip: Network issue (ECONNABORTED, ECONNRESET)

Pull Requests

Full Changelog: v4.50.1...v4.51.0

v4.50.1

29 Jul 13:53
Compare
Choose a tag to compare

What's Changed

  • Fix report file name of hardis:org:monitor:limits by @nvuillam in #659
  • Fix crash when GitProvider has been wrongly configured, and display information message by @nvuillam in #660

Full Changelog: v4.50.0...v4.50.1

v4.50.0

28 Jul 22:16
Compare
Choose a tag to compare

What's Changed

  • Add message in case of deployment check passing thanks to testCoverageNotBlocking: true
  • hardis:org:diagnose:legacyapi : Fix display error declared in bug #652
  • Run legacy api detection daily with monitoring, as logs remain only 24h

Pull Requests

  • Fix legacy API output message + display deployment message by @nvuillam in #658

Full Changelog: v4.49.1...v4.50.0

v4.49.1

27 Jul 08:09
Compare
Choose a tag to compare

What's Changed

Full Changelog: v4.49.0...v4.49.1

v4.49.0

26 Jul 23:55
Compare
Choose a tag to compare

What's Changed

  • New command hardis:org:diagnose:instanceupgrade to get information about Org, its Salesforce instance and its next Platform Upgrade date. Sends notifications to Grafana if activated.
  • Refactor Monitoring checks documentation
  • hardis:project:deploy:sources:dx: After a failed Quick Deploy, use run with NoTestRun to improve perfs as we had previously succeeded to simulate the deployment

Pull Requests

  • Monitor next Salesforce Instance upgrade & update monitoring doc by @nvuillam in #656
  • After a failed Quick Deploy, use run with NoTestRun to improve perfs as we had previously succeeded to simulate the deployment by @nvuillam in #655

Full Changelog: v4.48.1...v4.49.0

v4.48.1

26 Jul 17:01
Compare
Choose a tag to compare

What's Changed

Full Changelog: v4.48.0...v4.48.1