release: v4.5.2 - #651
release: v4.5.2#651
Conversation
Co-Authored-By: Claude <noreply@anthropic.com>
✅ Snyk checks have passed. No issues have been found so far.
💻 Catch issues earlier using the plugins for VS Code, JetBrains IDEs, Visual Studio, and Eclipse. |
🔒 Security Scan Results
⏱️ SLA Breach Summary
✅ BUILD PASSED - All security checks passed |
There was a problem hiding this comment.
🟢 Approval recommended
No unresolved review issues were identified.
Pull request overview
Republishes the Live Preview SDK as v4.5.2 with corrected packaging and release metadata.
Changes:
- Bumps package and lockfile versions to 4.5.2.
- Updates the README CDN reference.
- Documents the release in the changelog.
File summaries
| File | Description |
|---|---|
README.md |
Pins the CDN example to 4.5.2. |
package.json |
Updates the package version. |
package-lock.json |
Synchronizes lockfile metadata. |
CHANGELOG.md |
Documents the v4.5.2 release. |
Review details
- Files reviewed: 3/4 changed files
- Comments generated: 0
- Review effort level: Lite
💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.
hitesh-shetty-cstk
left a comment
There was a problem hiding this comment.
Release path at risk: this is the cut that republishes the package every Live Preview and Visual Builder consumer installs. 4.5.1 went to npm with no dist/, so an app upgrading to it failed at build time on an import that could not resolve.
Automated review
What this changes: Bumps the package and lockfile to 4.5.2, regenerates the changelog, and moves the README CDN snippet to 4.5.2. No source changes. The packaging fix this release exists to carry landed on main ahead of this branch, so it does not show up in the diff.
Business impact: Publishing. I checked the branch head rather than taking the description on trust. package.json at this SHA carries "prepack": "npm run build" with files set to ["dist"], and .github/workflows/npm-publish.yml carries npm publish --tag alpha in the prerelease job. The fix is on the branch, so the 4.5.2 tarball should contain dist/. Were it absent, consumers on 4.5.2 would hit the same build failure as 4.5.1, and the README would be sending them to a CDN URL that cannot resolve.
Security: nothing beyond what the scanners cover. One observation on the publish workflow, outside this diff and not counted as a finding here: both jobs run npm install -g npm@latest in a job holding id-token: write for provenance, which puts unpinned third-party code in the path that signs and publishes the package. This same release pins vitest-coverage-report-action to a commit sha for that reason, so the publish path is worth the same treatment.
Flow
flowchart TD
A[Merge release-v4.5.2 into main] --> B[Create GitHub Release v4.5.2]
B --> C{release.name ends with -alpha}
C -->|no| D[publish job]
C -->|yes| E[publish-alpha job]
D --> F[npm ci]
E --> F
F --> G[npm publish fires prepack]:::changed
G --> H[tsup build writes dist/]:::changed
H --> I[npm publish --provenance]
I --> J[dist-tag latest at 4.5.2]
I --> K[dist-tag alpha]
classDef changed fill:#fff3cd,stroke:#d39e00
Findings: 0 blocker, 1 should fix, 2 nit. Both nits are inline on CHANGELOG.md. The should-fix sits below because the file it concerns is not part of this diff.
Should fix (follow-up, not a change to this PR) — .github/workflows/npm-publish.yml routes on endsWith(github.event.release.name, '-alpha'). A release named v4.6.0-alpha.1, the usual semver prerelease spelling, does not end in -alpha, so it routes to the publish job and goes out without --tag alpha. That moves latest onto a prerelease, which is the failure this release set out to remove. A release created with no name at all looks the same to that condition. Reading github.event.release.prerelease, or testing the tag for a prerelease suffix, would close it. The post-merge checklist covers 4.5.2 by asking for an exact title, so the exposure is the next prerelease rather than this release.
Reviewer candidates:
- @csAyushDubey authored 7 of the last 30 commits on
package.json, the most of anyone once the author is excluded. - @karancs06 authored 2 of the last 30 commits on
package.json, and is the most recent of the contributors tied at that count.
@Deepak-Kharah owns most of the history on .github/workflows/npm-publish.yml, 3 of its last 6 commits. Since the release path is what this PR exercises, worth walking them through the publish behaviour before the release is created. No review requested from them.
Not covered: I did not run the build, npm pack, or the test suite, so the 1931 file count in the description is unverified here. I also did not confirm that stage_v4 is an ancestor of main with nothing main lacks. The published tarball after the release is created is the real check, and the checklist already has it.
Automated review by Claude Code. A human review is still required.
Generated by Claude Code
Coverage Report
File CoverageNo changed files found. |
Live Preview SDK v4.5.2
Summary
Republishes the package with its
dist/folder. Version 4.5.1 went to npm containing onlypackage.json,README.mdandLICENSE, so importing it failed at build time for every consumer. This release carries the packaging fix and the build output.What's changed
Fixes
prepackscript now builds on every publish path, including a localnpm publishornpm pack. Previously nothing built before publish, so an absentdist/produced a tarball with no JavaScript in it. A failing build now fails the publish instead of shipping an empty package.alphadist-tag. The alpha publish job had lost its--tag alpha, so a prerelease would have moved thelatesttag and been served to consumers installing without a version.Chores
vitest-coverage-report-actionpinned to a commit sha rather than a mutable version tag.4.5.2; CHANGELOG regenerated viaauto-changelog.@contentstack/live-preview-utils@4.5.2.Notes for reviewers
This branch is cut from
mainrather thanstage_v4. The packaging fix was merged directly tomainas a hotfix, andstage_v4is an ancestor ofmainwith nothingmainlacks, so the usualstage_v4 → mainrelease PR would have been empty and would not have contained the fix.stage_v4anddevelop_v4pick both up on their next sync.Verified with a clean
npm cifollowed bynpm pack --dry-run: 1931 files and 7.8 MB with the fix, against 3 files and 12.3 kB without, the latter reproducing the published 4.5.1 exactly. The build was also confirmed on node 24, which no release has used before.Post-merge checklist
release-v4.5.2→main)v4.5.2frommain(tag created via the Release UI) — triggers thenpm-publishworkflowv4.5.2; a title ending in-alpharoutes to the prerelease jobnpm view @contentstack/live-preview-utils@4.5.2 dist.fileCountreturns roughly 1931, not 3https://esm.sh/@contentstack/live-preview-utils@4.5.2🤖 Generated with Claude Code