Releases: Accenture/sfmc-devtools
Releases · Accenture/sfmc-devtools
v8.0.1
Bugfixes
- #2078 if folders paths exist on parent and child bu only one remains in cache by @JoernBerkefeld in #2303
- #2296 exits with unsuccessful code if prettierrc not present by @JoernBerkefeld and @justinjxzhang in #2304
- #2305 ensure cross BU asset folders are correctly identified by @JoernBerkefeld and @LaurisBahs in #2306
Chores
- #2263 gracefully handle key-not-found when retrieving journeys by @JoernBerkefeld in #2289
- #2261 mark
retrieveAsTemplateas deprecated by @JoernBerkefeld in #2292 - #2264 avoid showing "event not used" warning for newly created events by @JoernBerkefeld in #2294
- #2293 turn "skipping folder" warning into an info message to lower perceived severity by @JoernBerkefeld in #2295
Dependencies
- Bump eslint from 9.25.1 to 9.28.0 by @dependabot in #2302
- Bump @eslint/js from 9.25.1 to 9.28.0 by @dependabot in #2300
- Bump eslint-plugin-prettier from 5.2.6 to 5.4.1 by @dependabot in #2299
- Bump eslint-plugin-jsdoc from 50.6.11 to 50.7.1 by @dependabot in #2298
- Bump @types/node from 22.15.3 to 22.15.29 by @dependabot in #2301
- Bump mocha from 11.1.0 to 11.5.0 by @dependabot in #2287
- Bump globals from 16.0.0 to 16.2.0 by @dependabot in #2286
- Bump fast-xml-parser from 5.2.1 to 5.2.3 by @dependabot in #2277
- Bump eslint-plugin-unicorn from 59.0.0 to 59.0.1 by @dependabot in #2273
- Bump dawidd6/action-download-artifact from 9 to 10 by @dependabot in #2297
Full Changelog: v8.0.0...v8.0.1
v8.0.0
Breaking Changes
- #2221 dropping support for node 19
- #2220 removed empty automationId and filterDefinitionId from events
- #1903 removed journey activity ids from JSONs. They were auto-renewed during each deployment but prevented easy before & after git comparisons
Features
- #1384 retrieve code resources and published URLs of cloudpages (asset-coderesource, asset-cloudpage) by @JoernBerkefeld in #2208
- #1812 add audit method to retrieve journey audit log by @JoernBerkefeld in #2240
Bugfixes
- #2110 if scheduling an automation fails the error is not returned by @JoernBerkefeld in #2198
- #2199 retry getting detailed info for automation and importFile based on error code 'ERR_BAD_RESPONSE' and throttle requests more by @JoernBerkefeld in #2200
- #2080 unable to retrieve WhatsApp importFile activity by @JoernBerkefeld and @Beryl-18 in #2213
- #2214 allow resuming and pausing older journey versions by @JoernBerkefeld in #2215
- #2207 allow updating dataExtension retention policy by @JoernBerkefeld in #2222
- #2233 fix event.c__blankFileProcessing not always created by @JoernBerkefeld in #2237
- #2238 journeys couldn't be retrieved with --like option by @JoernBerkefeld in #2239
- #2241 fix for stop journey not working if status is "Finishing" by @JoernBerkefeld in #2243
- #2158 if keys and types are retrieved together the type folders are not reset by @JoernBerkefeld in #2248
- #1833 folder matching (for create vs update) is case sensitive but should not be by @JoernBerkefeld in #2249
Chores
- #2111 re-retrieve automation after pause/schedule by @JoernBerkefeld in #2201
- #2209 remove eslint-config-prettier from being a direct dev-dependency by @JoernBerkefeld in #2210
- #2211 drop node 19 support, add test for node 23 by @JoernBerkefeld in #2212
- #2220 remove empty automationId and filterDefinitionId from events by @JoernBerkefeld in #2221
- #1707 clearly defined which objectAPIName field is used and how in journey and event by @JoernBerkefeld in #2223
- #2242 no longer auto-fix bad dataExtension field updates but instead log an error by @JoernBerkefeld in #2244
- #2234 show an easier to understand message when running
createDeltaPkgagainst a branch thats not locally existing by @JoernBerkefeld in #2250 - #1903 remove journey activity id on retrieve and re add it during deploy by @JoernBerkefeld in #2251
Dependencies
- Bump eslint from 9.21.0 to 9.23.0 by @dependabot in #2206
- Bump @eslint/js from 9.21.0 to 9.23.0 by @dependabot in #2204
- Bump yocto-spinner from 0.2.0 to 0.2.1 by @dependabot in #2166
- Bump typescript from 5.7.3 to 5.8.2 by @dependabot in #2164
- Bump eslint-plugin-unicorn from 56.0.1 to 58.0.0 by @dependabot in #2203
- Bump lint-staged from 15.4.3 to 15.5.0 by @dependabot in #2192
- Bump @types/node from 22.13.9 to 22.13.13 by @dependabot in #2205
- Bump inquirer from 12.4.2 to 12.5.0 by @dependabot in #2193
- Bump eslint from 9.23.0 to 9.25.1 by @dependabot in #2246
- Bump @eslint/js from 9.23.0 to 9.25.1 by @dependabot in #2247
- Bump eslint-plugin-jsdoc from 50.6.3 to 50.6.9 by @dependabot in #2219
- Bump eslint-plugin-prettier from 5.2.3 to 5.2.6 by @dependabot in #2232
- Bump prettier-plugin-sql from 0.18.1 to 0.19.0 by @dependabot in #2229
- Bump inquirer from 12.5.0 to 12.6.0 by @dependabot in #2257
- Bump eslint-plugin-unicorn from 58.0.0 to 59.0.0 by @dependabot in #2256
- Bump prettier-eslint from 16.3.0 to 16.4.1 by @dependabot in #2255
- Bump @types/node from 22.13.13 to 22.15.3 by @dependabot in #2258
- Bump yocto-spinner from 0.2.1 to 0.2.2 by @dependabot in #2260
- Bump fast-xml-parser from 5.0.8 to 5.2.1 by @dependabot in #2254
- Bump typescript from 5.8.2 to 5.8.3 by @dependabot in #2230
- Bump lint-staged from 15.5.0 to 15.5.1 by @dependabot in #2236
- Bump eslint-plugin-mocha from 10.5.0 to 11.0.0 by @dependabot in #2259
Full Changelog: v7.10.1...v8.0.0
v7.10.1
Breaking Changes
- automations are no longer automatically scheduled during deployment. instead, you need to either append
--scheduleto the deploy command or runscheduleafterwards
Bugfixes
- #2169 ensure deploy --refresh runs synchronously before other deployments by @JoernBerkefeld in #2170
- #2171 correct fileLocation 404 error message for importFile deployments by @JoernBerkefeld in #2172
- #2181 validation rule filter now also applies to extracted code files by @JoernBerkefeld and @LaurisBahs in #2182
- #2183 skip synced dataExtensions in validation rule noRootFolder by @JoernBerkefeld in #2184
- #2109 refresh automations after deployment to avoid issues with schedule format and notifications by @JoernBerkefeld in #2185
- #2186 show proper error message when deploying event without DE or schema by @JoernBerkefeld in #2187
- #2108 enable scheduling automations regardless of their interval (minutes, hours, days, weeks, months, years) by @JoernBerkefeld in #2194
- #2195 dont fix validation issue if --skipValidation was set by @JoernBerkefeld in #2196
Chores
- #2121 resolve dataExtension as dependency of dataExtract by @JoernBerkefeld in #2173
- #2176 sort types in response of buildTemplate and buildDefinition alphabetically by @JoernBerkefeld in #2177
- #2178 get domainVerifications via dependencyGraph of senderProfiles by @JoernBerkefeld in #2179
- #2176 sort bdb return value by type by @JoernBerkefeld in #2180
- #2168 handle 404 during deletions consistently across types by @JoernBerkefeld in #2188
- #1835 add created and modified info to automations by @JoernBerkefeld in #2189
- #1424 add last-paused to automations by @JoernBerkefeld in #2190
- #874 remove custom automation.deploy method in favor of generic version by @JoernBerkefeld in #2191
v7.10.0
Feature / breaking change
- #2112 handle redeploy of automation with verification by @JoernBerkefeld in #2157
The key field of verifications has been changed to a custom value that is dependent on the automation it belongs to. This move was necessary to enable easy deployment across BUs. Unfortunately, this metadata type does not have its own key.
Chores
- #2155 improve eslint settings for JavaScript and SSJS by @JoernBerkefeld in #2156
Full Changelog: v7.9.0...v7.10.0
v7.9.0
Features
- #2152 allow bulk-creating domainVerifications by @JoernBerkefeld in #2153
Bugfixes
- #2146 mcdev upgrade fails due to new createdeltapkg config by @JoernBerkefeld in #2149
- #2147 correct prompt to run npm install instead of npm update to fix project version being higher than app version by @JoernBerkefeld in #2150
Chores
- #2148 disable retrieving triggeredSend by default as its details reside in journeys by @JoernBerkefeld in #2151
Full Changelog: v7.8.0...v7.9.0
v7.8.0
Features
- #2138 allow filtering what metadata types will be looked at by createDeltaPkg by @JoernBerkefeld in #2141
- #2140 add --fix option to retrieve for helping with cleanups of BUs by @JoernBerkefeld in #2142
- #2139 show delete command to clean up higher environment after cdp-based deployment by @JoernBerkefeld in #2143
Dependencies
- Bump prettier from 3.5.0 to 3.5.3 by @dependabot in #2134
- Bump eslint from 9.20.0 to 9.21.0 by @dependabot in #2117
- Bump @eslint/js from 9.20.0 to 9.21.0 by @dependabot in #2118
- Bump @types/node from 22.13.1 to 22.13.9 by @dependabot in #2137
- Bump chai from 5.1.2 to 5.2.0 by @dependabot in #2081
- Bump inquirer from 12.4.1 to 12.4.2 by @dependabot in #2087
- Bump globals from 15.14.0 to 16.0.0 by @dependabot in #2105
- Bump fast-xml-parser from 4.5.1 to 5.0.8 by @dependabot in #2123
- Bump dawidd6/action-download-artifact from 8 to 9 by @dependabot in #2136
Full Changelog: v7.7.2...v7.8.0
v7.7.2
Bugfixes
- #1636: locally delete renamed or removed asset parts upon retrieve by @JoernBerkefeld in #2126
- #1232 ensure old asset content blocks get removed if the file type changed by @JoernBerkefeld in #2127
- #2119 stop build if buildTemplate did not find any items by @JoernBerkefeld in #2130
Chores
- #2124 improve readability of validation rule messages by @JoernBerkefeld in #2125
- #1941 delete local file if retrieve-by-key cannot find the item on the server by @JoernBerkefeld in #2128
- #2120 recommend installing mcdev vsce for mcdev projects by @JoernBerkefeld in #2129
- #2131 improve recognition of fixable validation rules by @JoernBerkefeld in #2132
Full Changelog: v7.7.1...v7.7.2
v7.7.1
Bugfixes
- #2088 fix javascript error when running deploy by @JoernBerkefeld and @FiloMichal in #2095
- #2098 await file purging before building definitions by @JoernBerkefeld in #2099
- #2100 deleting transactional journeys now also locally deletes the associated transactionalEmail file locally. The API automatically deletes it on the server internally by @JoernBerkefeld in #2101
Chores
- #2102 add validation rule config setting 'fix' (next to already existing options 'off', 'warn', 'error') by @JoernBerkefeld in #2103
- #2090 enhanced eslint rules for mcdev projects by @JoernBerkefeld in #2091
- #2093 no longer auto-recognize vscode extension running mcdev to enable colors in test runs by @JoernBerkefeld in #2094
- #2096 auto-check config whenever it's loaded by @JoernBerkefeld in #2097
Full Changelog: v7.7.0...v7.7.1
Details
Advanced Configuration
Validation rules
You can define validation rules for retrieve, buildDefinition and deploy.
Possible rule settings are:
- not set, which implicitly turns off the rule
- "off" explicitly turns off the rule
- "warn" shows a log message of type warning
- "error" shows a log message of type error AND blocks further execution
- for
retrievethat prevents download - for
buildDefintion(andbuild) that prevents the creation of the corresponding file in the deploy folder - for
deploythis will prevent deployment.
- for
- "fix" can either lead to skipping the component or to updating parts of the metadata (JSON) - that depends on the rule's algorithm. If fixing means skipping then the outcome is the same as with "error", except that no error code is returned by mcdev which can be relevant if you execute mcdev as part of a CI/CD pipeline where an error code signals a problem.
v7.7.0
Features
- #1918 extend
createDeltaPkg-command logic to understand multiple key-value pairs in the source-target-mapping; enabling you to work with multiple source BUs in one CI/CD pipeline by @JoernBerkefeld in #2045 - #2047 extend
createDeltaPkgwith options frombuild-command:--dependencies,--retrieve,--skipValidationand add new option--rangefor enhanced flexibility by @JoernBerkefeld in #2053 - #1461 add new option
--purgeand--no-purgetocreateDeltaPkg,build,buildDefinition,buildDefinitionBulkthat lets you pre-select if the deploy-folder should be emptied or not by @JoernBerkefeld and @LaurisBahs in #2023 - #1678 add
--fixoption todeploy,build,buildDefinition,buildDefinitionBulk,createDeltaPkgwhich enables auto-fixing problems that were recognized by validation rules. This is dependent on the validation rule being able to apply a fix. by @JoernBerkefeld and @anasilva105 in #2077 - #1467 create templates only temporarily when running
build-command, instead of storing templates intemplate/folder. To create permanent templates, you now have to usebuildTemplateinstead. by @JoernBerkefeld in #2024 - #1703 add new
clone-command to easily copy a component from one BU to another without making changes to it. It internally usesbuild-command to ensure consistency and to allow you to usebuild's options like--dependencies. Contrary tobuildit does not use markets / market lists. by @JoernBerkefeld in #2025 - #1989 retrieve sendClassification by default from now on by @JoernBerkefeld in #2062
- #2031 auto-
pause&resumetransactional journeys during deployments to allow updating them. Before this required manual pre- and post-deployment steps by @JoernBerkefeld in #2058 - #2064 check and auto-create new type domainVerification (From Name Management) entries for senderProfiles. This programmatically clicks on the "Verify" button next to an email address in the Sender Profile, allowing you to actually use it. by @JoernBerkefeld in #2065
- #2067 prevent CloudPage assets (asset-asset with assetType.name == 'webpage') from being created via mcdev because those couldn't be used. CloudPages need to be created by a manual pre-deployment step due to lack of API support. by @JoernBerkefeld and @Dipasree-ghosh #2068
Bugfixes
- #2011 throttle
createDeltaPkgto prevent it from failing for 100+ changes by @JoernBerkefeld in #2012 - #2028 handle event 404 when trying to
deletegracefully by @JoernBerkefeld in #2033 - #2030 no longer stop after first no-delta-found source-target map in
createDeltaPkgby @JoernBerkefeld and @LaurisBahs in #2055 - #2032 auto-re-retrieve journeys after they were
publishedby @JoernBerkefeld in #2056 - #2035
deployasset failed if pre-existingContentBlockByKey()-dependencies are not also deployed by @JoernBerkefeld in #2051 - #2036 fix regression that blocked creation of transactional send journeys by @JoernBerkefeld in #2040
- #2075 if
ContentblockByKey()was not found other references in json were ignored by @JoernBerkefeld in #2076 - #2061 print error if
.mcdev.validations.jscould not be loaded due to a syntax error by @JoernBerkefeld and @PriyajitGhosh1995 in #2063 - #1772
deployingtemplate and template-based email in one go resulted in error "does not have field 'id'" by @JoernBerkefeld in #2079
Chores
- #2013 ensure
createDeltaPkguses--metadataandbuild-command internally by @JoernBerkefeld in #2022 - #2027 move
deltapackage.logfromdocs/folder intologs/folder by @JoernBerkefeld in #2054 - #2034 fix weird "publishing" log output by ordering execution based on journey-definitionType of the journeys by @JoernBerkefeld in #2057
Dependencies
- Bump dawidd6/action-download-artifact from 7 to 8 by @dependabot in #2015
- update github workflows for action/upload-artifact, action/download-artifact and dawidd6/action-download-artifact by @JoernBerkefeld in #2041
- Bump eslint from 9.18.0 to 9.20.0 by @dependabot in #2073
- Bump @eslint/js from 9.18.0 to 9.20.0 by @dependabot in #2072
- Bump eslint-plugin-jsdoc from 50.6.2 to 50.6.3 by @dependabot in #2019
- Bump prettier from 3.4.2 to 3.5.0 by @dependabot in #2069
- Bump inquirer from 12.3.2 to 12.4.1 by @dependabot in #2043
- Bump semver from 7.6.3 to 7.7.1 by @dependabot in #2074
- Bump lint-staged from 15.4.1 to 15.4.3 by @dependabot in #2018
- Bump mocha from 11.0.1 to 11.1.0 by @dependabot in #2017
- Bump @types/node from 22.10.7 to 22.13.1 by @dependabot in #2070
Special Thanks
We thank @LaurisBahs, @PriyajitGhosh1995, @Dipasree-ghosh and @anasilva105 for their contribution to this release.
Full Changelog: v7.6.3...v7.7.0
v7.6.3
Bugfixes
- #1877 ensure we don't lose event.schema information when creating new SF events by @JoernBerkefeld in #2007
Chores
- #1992 resolve fileNamePatternType in automations by @JoernBerkefeld in #1993
- #2005 resolve locationTypeId on fileLocation by @JoernBerkefeld in #2006
- #1990 improve error on filename and key mismatch by @JoernBerkefeld in #2008
Dependencies
- Bump @eslint/js from 9.17.0 to 9.18.0 by @dependabot in #2002
- Bump @types/node from 22.10.6 to 22.10.7 by @dependabot in #2003
- Bump eslint-config-prettier from 9.1.0 to 10.0.1 by @dependabot in #2004
- Bump eslint-plugin-jsdoc from 50.6.1 to 50.6.2 by @dependabot in #1997
- Bump eslint-plugin-prettier from 5.2.1 to 5.2.3 by @dependabot in #1996
- Bump fs-extra from 11.2.0 to 11.3.0 by @dependabot in #2001
- Bump lint-staged from 15.3.0 to 15.4.1 by @dependabot in #1998
- Bump yocto-spinner from 0.1.2 to 0.2.0 by @dependabot in #1999
Full Changelog: v7.6.2...v7.6.3