Repository navigation
Releases: JoernBerkefeld/sf-plugin-cms
Releases · JoernBerkefeld/sf-plugin-cms
Release list
v0.22.0
Features
- Retrieve bounded portable Brand definitions using
sf cms retrieve content, preserving supported inline brand values in editable source files. - Create Brand content from portable source with
sf cms deploy content, including ordered mixed-family batches and independent destination readback. - Discover Brand availability and supported operations with
sf cms info.
Limitations
- Brand support is limited to the documented portable inline shape. Brand update, delete, binary assets, custom providers, and unsupported native shapes remain blocked.
Full Changelog: v0.21.0...v0.22.0
v0.21.0
Features
- Workspace and channel lists now gather all pages by default; use
--pagefor a single page. Workspace output displays the API-provided type and enhanced status. - Org-backed commands identify the resolved org before beginning work, while keeping JSON, help and offline information output free of that notice.
- Add bounded native publish and unpublish batches with guarded synchronization of matching local sources after confirmed remote outcomes.
- Show readable item-by-item progress and outcomes for deploy, image upload and delete, with clearer selection prompts and operation-specific help.
Safety and scope
- Supported content shapes remain deliberately limited. Deploy saves Drafts and does not publish or send them; use
--previewfor read-only preflight. - Local synchronization is restricted to matching, pre-inspected sources. Failures can leave earlier successful remote changes in place; there is no automatic rollback or retry.
- Cross-org Image acceptance remains pending, and loose-image upload has not been live-qualified. See the README and offline
sf content infofor operation-specific restrictions.
Full Changelog: v0.20.0...v0.21.0
v0.20.0
Breaking Changes
- Deploy, loose-image upload and deletion now execute by default. Use
--previewfor read-only preflight. Reports are opt-in with--reportor--report-dir; preview rejects reporting flags. - Replace
sf cms upload imageswithsf cms upload(aliassf content upload). Loose-image upload no longer requires a local CMS project. - Deletion now uses exact item and language selection across Email, Email Template, Image, Document and Audio. The previous ownership-report, Draft-only and
--applyworkflow is replaced; use--previewbefore deliberate deletion. Deletion leaves local files untouched, but historical revision and reference preservation is not proven.
Features
- Select deploy inputs with definition files through
--source-dir, or use metadata selectors against the conventional workspace layout. - Upload local images without creating a project, and retain execution results without requiring persisted reports.
- Delete multiple explicitly selected items and actual languages with API-led acceptance and fresh identity checks. Wildcard item selectors remain blocked; ambiguous language selection requires an explicit choice.
- Deploy supported Document and Audio content as unpublished Drafts, with operation-specific restrictions described in the README.
- Clarify default-org setup for commands run inside and outside a Salesforce project.
Bugfixes
- Preserve independently observed destination identity when an update response is lost, so failed execution results retain the known target.
- Keep command discovery and offline support information aligned with the public upload and deletion commands.
Full Changelog: v0.19.0...v0.20.0
v0.19.0
Features
- Add readable
sf contentaliases alongside the existingsf cmscommands, with simplified retrieve examples and defaults. - Record automatic per-invocation CMS diagnostic logs with credential redaction. Opt in to request/response payload details with
--api log; native table output stays native while its structured data is recorded.
Changes
- Let native API acceptance govern Image and Document format and size admission rather than imposing invented local format restrictions.
- Preserve opaque Document bytes and safe native MIME through source loading, multipart CREATE and bytes-only UPDATE. Explicit identity, safety and resource-budget checks still apply.
- Document diagnostic log locations, customer-content/PII risks and inspect-before-sharing guidance.
Bugfixes
- Redact embedded/form credentials and complete Authorization values, and retain genuine native Error stacks without evaluating arbitrary accessors.
- Preserve upload validation diagnostics and cover multipart, media-download, discovery and parsed-JSON API logging boundaries.
Full Changelog: v0.18.0...v0.19.0
v0.18.0
Features
- Retrieve and deploy Audio, including Draft creation, bytes-only updates and unchanged detection.
- Retrieve all supported content types with just
sf cms retrieve content -W "Content Workspace for Marketing Cloud"; language and output location default automatically. - Use your configured default org across CMS commands, or override it with
-o. - Use short content types such as
email,imageandaudioalongside canonical names.
Full Changelog: v0.17.0...v0.18.0
v0.17.0
Features
- Retrieve Documents with an editable text companion.
- Deploy Documents as unpublished Drafts: create new content, update bytes only, or skip exact matches.
- Supports root-level, default-language UTF-8
text/plainDocuments with nonempty content up to 10 MiB and safe ASCII.txtfilenames. Existing Drafts must keep their metadata, native filename and MIME unchanged.
Full Changelog: v0.16.0...v0.17.0
v0.16.0
What's new
- Let Salesforce decide which Image formats and sizes it accepts when retrieving, deploying, or admitting loose image files. Remove the plugin's format whitelist, signature-match requirement, and 10 MiB limit; image bytes and declared MIME types are not converted.
- Add limited Document retrieval for root-level, single-variant UTF-8
text/plainmedia and external URL-only content. Document deployment is not included.
Limits
- Existing Image deployment still requires a root-level, default-language, single unpublished primary Draft. Updates replace bytes only; metadata, native filename, MIME type, and identity must match.
- Salesforce acceptance does not guarantee a valid or renderable image. Image formats are not universally validated; loose-file uploads lack live-upload verification, and Document retrieval has not yet completed installed-package verification.
- No new publishing, activation, sending, deletion rollout, or general CMS backup/restore support is added.
Full Changelog: v0.15.0...v0.16.0
v0.15.0
What's new
- Deploy PNG Images with
sf cms deploy content: create new Draft Images, skip unchanged content, or replace the bytes of an eligible existing Image without changing its identity. - Verify deployed media by reading it back from Salesforce, while checking that the filename, MIME type, and metadata match the selected operation.
- Document the PNG retrieve/edit/deploy workflow and show the supported Image operations in
sf cms info.
Limits
- PNG deployment is limited to the documented Marketing workspace root/default-language profile and eligible Draft content. Other formats, additional variants, and metadata-changing updates remain blocked.
Full Changelog: v0.14.0...v0.15.0
v0.14.0
Breaking changes
- Remove
sf cms get workspace,sf cms get channel,sf cms get content,sf cms get variant,sf cms export workspace,sf cms import workspace, andsf cms update content, without aliases. Usesf cms list workspace/sf cms list channelfor inventories andsf cms retrieve content/sf cms deploy contentfor supported portable content workflows. These are not replacements for raw details, historical versions, complete workspace backup/restore, or every legacy update operation. - Email and Email Template companions now share the definition stem: for example,
Welcome.cms-email.json,Welcome.cms-email.html, and optionalWelcome.cms-email.txt. Older role-suffixed files are not migrated automatically; back up local edits before refreshing sources.
What's new
- Retrieve supported native Images with
sf cms retrieve content, either as media bytes or an external URL-only representation. Image deployment is not included yet. - Make
sf cms infoclearer about the nine available public commands and their supported operations. - Add a beginner-friendly README covering installation, the Email download/edit/preview/apply workflow, support limits, and recovery.
Limits
- Email deployment remains limited to supported dependency-free raw HTML: Draft creation, eligible Draft HTML-only updates, or unchanged content. Deployment labels remain conservative and may still show
unqualified.
Full Changelog: v0.13.0...v0.14.0
v0.13.0
What's new
- Add
sf cms deploy contentfor portable Email and Email Template definitions and their companion files. Choose an explicit destination and preview changes with the default dry run before applying them. - Create Draft content, update eligible existing HTML without changing its identity, and skip content that is already unchanged. Select a single definition or a directory.
- Check the whole selection before writing, block missing files and ambiguous targets, and report failed or unattempted items if a batch cannot finish.
Limits
- Deployment supports dependency-free raw HTML at the workspace root, in the exact selected language, with a single native variant. Existing-content updates are Draft-only and HTML-only; JSON or text changes are blocked.
- No media deployment, automatic dependency creation, publishing, activation, or sending is included. Deployment capability labels remain conservative and may still show
unqualified.
Full Changelog: v0.12.0...v0.13.0