Skip to content

DX | 20-07-2026 | Release#299

Open
naman-contentstack wants to merge 58 commits into
v2-betafrom
v2-dev
Open

DX | 20-07-2026 | Release#299
naman-contentstack wants to merge 58 commits into
v2-betafrom
v2-dev

Conversation

@naman-contentstack

Copy link
Copy Markdown
Contributor

No description provided.

harshitha-cstk and others added 30 commits June 30, 2026 12:56
Merge pull request #247 from contentstack/development
fix: snyk fixes and added dependency overrides
…xperiences and missing variant entry data file [DX-9469]

Two related bugs in the Personalize import pipeline:

1. experiences.ts — pendingVariantAndVariantGrpForExperience was populated with ALL
   created experience UIDs regardless of whether valid variants were submitted to the
   API. Experiences with variants:[] never get variant groups from the Personalize
   backend, so the validation loop timed out and set importData=false, skipping
   attachCTsInExperience for every experience including valid ones. Fixed by changing
   importExperienceVersions to return boolean and only adding UIDs to the pending set
   when valid variants were actually submitted. Also adds a null guard in
   attachCTsInExperience before accessing variantGroup to prevent a silent crash.

2. entries.ts — a bare return inside the no-environments-file branch of the entries
   import function exited the entire function, skipping createEntryDataForVariantEntry().
   This meant data-for-variant-entry.json was never written whenever a stack had no
   environments, causing the variant-entries module to warn about the missing file and
   skip all variant entry imports. Fixed by removing the return.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
…DX-9469

Revert changes to audiences.test.ts, variant-entries.test.ts, and
package.json (test script narrowing) — these were workarounds for the
ESM/uuid runner issue and are not part of the DX-9469 fix scope.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
…h empty envs [DX-9469]

After removing the bare return, publishEntries is called even when no
environments exist — serializePublishEntries handles empty envs as a
no-op. Updated test assertion to reflect this and added assertion that
createEntryDataForVariantEntry always runs.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
cs-raj and others added 25 commits July 10, 2026 17:43
Wire CLIProgressManager/SummaryManager into the bulk operations commands, matching the export/import/audit pattern:

- replace the direct `chalk` import with loadChalk()/getChalk() (ESM-safe)
- set/clear `log.progressSupportedModule` in init()/finally(); null-reset
  first so pre-flight/auth/setup errors still reach the console
- initialize the run-level global summary + header in executeBulkOperation
  (empty-branch fallback like import; label suffixed with branch when set)
- show a loading spinner while the async batch/job queue drains, then
  record accurate success/failed counts from the final result
- print the global summary and clear the progress-module flag in finally()
Test was asserting mockClient.stack was called with mockConfig.target_stack
which is undefined on the mock. Implementation correctly uses config.apiKey —
fixed the assertion to match.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
feat: Implement CS Assets delete/move operations in bulk-assets command
…progress-manager

feat(bulk-operations): integrate progress manager UI [DX-3882]
@naman-contentstack
naman-contentstack requested review from a team as code owners July 19, 2026 08:05
@github-actions

Copy link
Copy Markdown

🔒 Security Scan Results

ℹ️ Note: Only vulnerabilities with available fixes (upgrades or patches) are counted toward thresholds.

Check Type Count (with fixes) Without fixes Threshold Result
🔴 Critical Severity 0 0 10 ✅ Passed
🟠 High Severity 0 0 25 ✅ Passed
🟡 Medium Severity 0 1 500 ✅ Passed
🔵 Low Severity 0 0 1000 ✅ Passed

⏱️ SLA Breach Summary

⚠️ Warning: The following vulnerabilities have exceeded their SLA thresholds (days since publication).

Severity Breaches (with fixes) Breaches (no fixes) SLA Threshold (with/no fixes) Status
🔴 Critical 0 0 15 / 30 days ✅ Passed
🟠 High 0 0 30 / 120 days ✅ Passed
🟡 Medium 0 1 90 / 365 days ⚠️ Warning
🔵 Low 0 0 180 / 365 days ✅ Passed

ℹ️ Vulnerabilities Without Available Fixes (Informational Only)

The following vulnerabilities were detected but do not have fixes available (no upgrade or patch). These are excluded from failure thresholds:

  • Critical without fixes: 0
  • High without fixes: 0
  • Medium without fixes: 1
  • Low without fixes: 0

⚠️ BUILD PASSED WITH WARNINGS - SLA breaches detected for issues without available fixes

Consider reviewing these vulnerabilities when fixes become available.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants