Changelog.


Note, here are included only most important updates of the SFDMU Plugin.


v4.33.0

New:

  • Introduced a new property, ScriptObject.skipRecordsComparison, designed to bypass record comparison, allowing updates to proceed in all cases, even when the data appears identical.

v4.31.0

New:

  • Added a new queryBulkApiThreshold script parameter to control the threshold to use the Bulk Api Query instead of the plain REST API while querying for records.

v4.30.0

New:

  • Added a new pollingQueryTimeoutMs script parameter to control the polling timeout while querying for records.

v4.29.0

New:

  • Added a new --logfullquery flag, which enables logging of full SOQL query including all fields instead of short version.

v4.28.0

New:

  • Added a logging of error in case when 'targetRecordfilter' SQL failed.

v4.27.0

New:

  • Added the new --usesf flag to support the new SF-CLI, to call sf org display command instead of the deprecated sfdx force:org:display.

v4.26.13

  • Fixes:
    • Fixed problem of value mapping with .eval()
    • **Major fix in circular reference handling: fixed linking records in a 2-way lookup **
    • Fixed incorrect handling of the --nowarnings flag
    • Fixed issue of MissingParentRecordsReport.csv isn't created

v4.26.8

  • New:
    • Added new maxFileSize parameter to the core:ExportFiles Add-On.
  • Fixes:
    • Fixed the issue of unexpected error: Cannot convert undefined or null to object in core:ExportFiles Add-On.

v4.26.1

  • New:
    • Separated subdirectory for target files per Object Set.
    • Separated subdirectory for source files per Object Set.
    • Separated subdirectory for working copy of source files per Object Set.
    • Added new useSeparatedCSVFiles property to control using the same source CSV files for all Object Sets or separated per Object Set.

v4.24.0

  • New:
    • Added the new useSourceCSVFile property to use CSV for the specific object instead of org.

v4.23.0

  • New:
    • Updated ExportFiles Add-On: added option to export FeedAttachment object.

v4.22.0

  • New:
    • Improvement in handling of 'slave' objects (having master=false): prevented retrieving all records for 'slave' object, even its records are limited by WHERE clause in the object's query string.

v4.20.0

  • New:
    • Added the new Object.skipExistingRecords property, allows to avoid inserting duplicates.

v4.19.0

  • New:
    • New in the RecordsTransform Add-On:
      • Added the new Lookup Expression feature.
      • The RecordTransform Add-On can now be also triggered under a specific object with beforeUpdateAddons event.
      • **includeLookupFields **argument is now deprecated and was renamed to includeFields.

v4.18.0

  • New:
    • Added the new maxChunkSize parameter to the ExportFiles Add-On, allowing to adjust the size of a single upload when uploading a file binary data.

v4.17.2

  • New:
    • Added the excludedObjects script property to exclude objects globally across all objectSets.
  • Fixes:
    • Fixed object excluding, when excluded parent object is still included via referencing child lookup field.

v 4.16.1

  • New:
    • Added the HardDelete operation and ScriptObject.hardDelete option. You can delete records totally and skip putting them into the recycle bin.
  • Fixes:
    • Fixed MD detection of the Smart Order feature.
    • Fixed issue of Insert operation, when Id field is mapped to a different field using the Fields Mapping.

v 4.15.0

  • New:

    • New in the Data Anonymization:

      • Handling wildcard ('all') in the mock rule name to match all fields.
      • Added excludedNames array to exclude certain fields if 'all' is used.
      • Added new "c_set_value(value)" anonymization pattern to set the field to any specified value passed by the funciton parameter.
    • New in the** Multiselect:

      • Add ability to select multiple fields by the DescribeFieldResult DisplayType enum, e.g. SELECT type_boolean FROM Account
  • New in the CLI:

    • Ability to run SFDMU to update the Target org only without having a data Source (missing --sourceusername flag will force using the target org both as the source and as the target)
  • v 4.14.2

    • New:

      • Added the new Multiple Object Sets feature (objectSets property).
      • Added handling of FeedItems & FeedComments.
    • Fixes:

      • Fixed handling of PersonAccount when only one org (Source or Target) has PersonAccount enabled.
      • Fixed CSV import when excludeIdsFromCSVFiles=true
  • v4.13.1

    • New:
      • Added the restApiBatchSize parameter to the object level.
  • v4.13.0

    • New:

      • The parallelBulkJobs and parallelRestJobs parameters can now be set per object.
    • Fixes:

      • Fixed issue of incorrect splitting of records into chunks while using the parallelBulkJobs and parallelRestJobs parameters.
  • v4.12.9

    • Fixes:
      • Fixed job crash while querying Attachment object.
      • Excluded ContactId form automatic field list when using "all" with Opportunity object.
  • v4.12.3

    • Fixes:
      • Major fix in the multiselect keywords handling to avoid excluding of M/D or lookup fields from the resulting query.
  • v4.12.0

    • New:
      • The RecordsFilter Core Add-On Module has been released.
  • v4.11.10

    • Fixes:
      • Fixed major bug occurs when using of complex external Ids with multiselect keywords.
  • v4.11.6

    • Fixes:
      • Fixed the issue #378 of incorrect mixed PA/BA import
      • Fixed the issue #383 of unnesassary prompting about missing lookup fields in the CSV files when excludeIdsFromCSVFiles = true
  • v4.11.1

    • New:
      • Now the Tool can be optionally run as a standalone NodeJs application or as a JS/TS module.
      • Added new queryAllTarget option.
  • v4.10.3

    • New:
      • Added useQueryAll parameter.
  • v4.9.3

    • Improvements:
      • The CSV file repairing will now run when excludeIdsFromCSVFiles = true.
  • v4.9.2

    • Fixes:
      • Major fixes in the parsing of the CSV files when Id columns are missing.
  • v4.9.0

    • New:
      • Added the new ScriptObject.excudedFromUpdateFields property.
  • v4.8.3

    • New:
      • The RecordsTransform Core Add-On Module has been released.
  • v4.7.0

    • New:

      • Added new parameters: sourceRecordsCache, parallelBinaryDownload, bulkApiVersion, parallelBulkJobs, parallelRestJobs, dataRetrievedAddons.
      • The Add-On Api was upgraded to the v1.1.0:
        • Added the new dataRetrieved event.
    • Fixes:

      • Fixed incorrect mapping when mapped between the fields of the same sObject.
  • v4.6.3

    • New:
      • Added the new proxyUrl parameter.
  • v4.6.2

    • Fixes:
      • Fixed "Unsupported Tooling Sobject" error when deleting records using REST Api.
  • v4.6.1

    • New:
      • The records uploaded via the Rest API now can be splitted into batches, which size can be customized to avoid EXCEEDED_MAX_SIZE_REQUEST error.
      • Added file caching feature for the binary data to reduce memory usage.
      • Added new global script parameters: binaryDataCache and restApiBatchSize
  • v4.5.10

    • New:

      • v1.0.1 of the Custom Add-On Api released:
        • Added beforeAddons, afterAddons, afterUpdateAddons event support.
    • Improvements:

      • Improved external id resolution.
  • v4.5.8

    • Fixes:
      • Fixed polymorphic fields handling
  • v4.5.6

    • Fixes:
      • Fixed the issue of incorrect object ordering on Master-Detail relationships, when using the smart order.
  • v 4.5.4

  • v 4.4.4

    • New:
      • Added new '*' and '^'* regex pattern to the anonymization feature.
  • v 4.4.1

    • Fixes:
      • Fixed issue of incorrect handling of misspelled field names in the SOQL query.
  • v 4.4.0

    • New:
      • Added "I know what I do" feature. When a production SF org is set as a Target, during the job running, the Plugin will always prompt the user to manually enter the target DOMAIN-NAME (for example: prod-instance.my.salesforce.com), in order to get user's confirmation to make modifications and to prevent the critical production data from destroying by accident.
      • Added --canmodify flag to skip the prompt of above for using in the automated jobs.
  • v 4.3.1

    • New:

      Modified the format of the target csv file produced by the Delete operation in the simulation mode: now the target csv file created in the simulation mode for the Delete operation - will contain all fields from the object's query string but not only record id column as previously.

  • v 4.3.0

    • New:

      Added the new simulationMode property to allow the simulate the migration job without actual records update.

  • v 4.2.6

    • Fixes:
      • Fixed issue in the DeleteHierarchy feature
  • v 4.2.2

    • Fixes:
      • Fixed issue with incorrect handling of objects named by the pattern Group* , User*
  • v 4.2.1

    • Deprecated:
      • ScriptObject.deleteFromSource was deprecated and replaced with the new operation=DeleteSource. ScriptObject.deleteFromSource is still supported for the backward compatibility.
      • ScriptObject.deleteByHierarchy was deprecated and replaced with the new operation=DeleteHierarchy. ScriptObject.deleteByHierarchy is still supported for the backward compatibility.
  • v 4.2.0

    • New:
      • Added new deleteByHierarchy feature.
  • v 4.1.4

    • Fixes:
      • Fixed issue of incorrect select of related records when using master=false.
    • New:
      • Added new deleteFromSource feature.
    • Improvement:
      • The flags --sourceusername and --targetusername both are not mandatory any more, need to supply at least one of them.
      • The default value for the missing value set to "csvfile".
  • v 4.0.3

    • Fixes:
      • Fixed issue of incorrect handling of external id key values, which include backward slashes.
      • Fixed issue of process crashing when record id field is mapped to another field.
  • v 4.0.0

    • New:
      • The initial SFDX-CLI signed version
  • v 3.10.5

    • New:
    • Deprecated:
      • The ContentVersion sObject is no longer supported by the Core SFDMU and now this type of object can't be directly included in the export.json. To transfer Files the ExportFiles Core Add-On should be used instead.
    • Fixes:
      • Some improvements and important bug fixes.
  • v 3.9.4

    • Fixes:
      • Fixed issue of incorrect handling of assignment Queue to objects like Cases.
  • v 3.9.2

    • New:
      • Allowed customizing of the RecordType object in the export.json, like it is in other sObjects. It is possible now to setup the query string or the ExternalID field.
  • v 3.8.0

    • New:
      • Added the new bulk API concurrencyMode parameter to the Script.
  • v 3.7.19

    • Fixes:
      • Fixed issue of incorrect handling "null" value when trying to nullify fields using the Values Mapping feature.
  • v 3.7.17

    • Fixes:
      • Fixed issue with of resolving incorrect or case insesitive field names and sobject names in the SOQL query.
      • Fixed issue of adding extra fields to the query while linking parent sobject for self-referenced lookup field.
  • v 3.7.11

    • New:
      • Added the support for Salesforce Files (ContentVersion).
  • v 3.7.0

    • New:
      • Added new script parameter allowFieldTruncation.
    • Improvement:
      • SOQL query made case insensitive.
  • v 3.6.0

    • New:
      • Added new script parameter keepObjectOrderWhileExecute.
    • Improvement:
      • To avoid crashing when the user has no READ access to the Account object, changed the approach how the org access token is verified.
  • v 3.5.6

    • Fixes:
      • Fixed issues with Person Accounts + fixed wrong SOQL query parse.
  • v 3.5.0

    • New:
      • Added regex option to the Values Mapping feature.
  • v 3.4.18

    • Fixes:
      • Fixed issues with polymorphic fields.
  • v 3.4.2

    • Fixes:
      • Fixed issues when processing large data volumes.
  • v 3.4.0

    • New:

      • Added the Fields Mapping feature,

      • The support of the Values Mapping was extended to allow mapping of values coming from the org source (previously only mapping of CSV values was supported),

      • Added the built-in handling of compound address fields in the SOQL query (f. ex. BillingAddress).

  • v 3.3.4

    • Fixes:
      • Fixed issue with External ID field containing single quotes (').
  • v 3.3.3

    • Fixes:
      • Important fixes in the Person Accounts support.
  • v 3.3.0

    • Deprecated:
      • ScriptObject.allRecords was deprecated and replaced with the ScriptObject.master.
    • New:
      • The new "ScriptObject.master" parameter will replace the outdated ScriptObject.allRecords. But still can be used for backward combability.
  • v 3.2.2

    • Fixes:
      • Important fixes in the support for Notes & Attachments.
  • v 3.2.0

    • New:
      • Added the support for the Notes & Attachments (Attachments is supported in the Salesforce Classic only)
  • v 3.1.2

    • Fixes:
      • Critical fixes in CSV files import.
  • v 3.1.0

    • New:
      • The new parameter fileLog was added to the export.json configuration file.
  • v 3.0.0

    • New:
      • The first official plugin release.
  • v 2.9.0

    • New:
      • Added the support for the polymorphic lookup fields.
  • v 2.8.34

    • Improvement:
      • Added a warning when SOQL does not contain any updateable field.
      • Added a log message to inform the user that no records were processed since no differences between the source and the target.
  • v 2.8.33

    • Fixes:
      • Applied mandatory patch. Previous versions may not functioning properly.
  • v 2.8.0

    • Improvement:
    • The code of the Plugin is completely rewritten and optimized.
    • New:
    • Added the new Multiselect feature.
      • Added excludeIdsFromCSVFiles property.
    • Deprecated:
      • Removed useless script encryption feature.
  • v 2.7.0

    • New:
      • Added the support for Person Accounts.
  • v 2.6.8

    • Improvement:
      • Extended the support for the Bulk Query Api for large data sets from 30000 records. Previously the standard REST Api will be used to query records.
  • v 2.6.0

    • New:
      • Added the support of the Bulk Api v2.0 for updates. This version of the Bulk Api will be used by the default.

Notes:
  • Only important updates are listed here. Other minor modification can be found in the repository tags.
Last updated on 14th Apr 2024