Skip to content

DX | 20-07-2026 | Release - #209

Merged
naman-contentstack merged 21 commits into
mainfrom
development
Jul 20, 2026
Merged

DX | 20-07-2026 | Release#209
naman-contentstack merged 21 commits into
mainfrom
development

Conversation

@naman-contentstack

Copy link
Copy Markdown
Contributor

No description provided.

harshitha-cstkand others added 21 commits June 19, 2026 19:17
chore: back-merge main into development
 - **New**
- **Branch override for Entry Variants**: `Entry.Variant(uid?, branchUid?)` accepts an optional `branchUid` so a single variant call (`Find`, `Create`, `Update`, `Fetch`, `Delete`) can target a branch other than the `Stack`'s configured one, by overriding the `branch` request header. Passing `null`/whitespace falls back to the Stack's own branch.
- **Publish/Unpublish for Entry Variants**: `EntryVariant.Publish`/`PublishAsync` and `EntryVariant.Unpublish`/`UnpublishAsync`, matching the same `PublishUnpublishDetails` contract as `Entry.Publish`/`Unpublish`, and respecting the same branch override.
chore: back-merge main into development
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
…n branch-override assertions"
This reverts commit a75c310.
…iability
- Remove version duplication in AddVariantToDetails: auto-created PublishVariant
now carries only the variant Uid, keeping entry version at the top-level only
- Snapshot service.Headers into a new Dictionary in MockHttpHandler (both sync
and async) to prevent later mutations from corrupting header assertions
- Tighten always-true assertions in Test084/Test085 integration tests to assert
response.IsSuccessStatusCode instead of the tautological success-or-error check
- Update Should_Publish_EntryVariant unit test to match new variant behavior
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
- Add WaitBeforeRetryAsync to RetryPolicy base class so the async retry
loop can await the delay instead of blocking a thread pool thread
- Override WaitBeforeRetryAsync in DefaultRetryPolicy with a proper async
implementation; sync WaitBeforeRetry now delegates to it via GetResult
- RetryHandler.InvokeAsync now awaits WaitBeforeRetryAsync instead of
calling the blocking WaitBeforeRetry
- Replace DateTime.UtcNow with Stopwatch in InvokeAsync_Applies_NetworkRetryDelay
and InvokeAsync_Applies_HttpRetryDelay: Stopwatch uses QueryPerformanceCounter
and is not subject to the 15.6ms Windows system clock resolution that caused
the 50ms delay assertion to sporadically fail in CI
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Replace DateTime.UtcNow with Stopwatch in all three WaitBeforeRetry timing
tests. DateTime.UtcNow has ~15ms resolution on Windows CI runners, making
tight delay assertions (>= 200ms, <= 300ms) intermittently fail. Stopwatch
uses QueryPerformanceCounter and is not subject to clock tick granularity.
Also remove upper-bound assertions — the important correctness check is that
the delay was applied (lower bound), not how long the OS scheduler took.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Catch 409/422 from Branch.Create separately so a leftover branch no
longer routes into the generic catch that calls Assert.Inconclusive.
The catch-all now only fires for genuine feature-unavailable scenarios.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Updated the release date for version 1.1.0 in the changelog.
feat: Added branch support in entry variants
@naman-contentstack
naman-contentstack requested a review from a team as a code ownerJuly 19, 2026 08:09
@github-actions

Copy link
Copy Markdown

🔒 Security Scan Results

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

Check TypeCount (with fixes)Without fixesThresholdResult
🔴 Critical Severity0010✅ Passed
🟠 High Severity0025✅ Passed
🟡 Medium Severity00500✅ Passed
🔵 Low Severity001000✅ Passed

⏱️ SLA Breach Summary

✅ No SLA breaches detected. All vulnerabilities are within acceptable time thresholds.

SeverityBreaches (with fixes)Breaches (no fixes)SLA Threshold (with/no fixes)Status
🔴 Critical0015 / 30 days✅ Passed
🟠 High0030 / 120 days✅ Passed
🟡 Medium0090 / 365 days✅ Passed
🔵 Low00180 / 365 days✅ Passed

✅ BUILD PASSED - All security checks passed

@naman-contentstack
naman-contentstack merged commit 4c0d902 into mainJul 20, 2026
9 checks passed
Sign up for freeto 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.

4 participants

@naman-contentstack@cs-raj@harshitha-cstk@OMpawar-21