We use Semantic Versioning (SemVer) for the scripts package:
- MAJOR (2.0.0): Breaking changes
- MINOR (2.1.0): New features, backward compatible
- PATCH (2.1.1): Bug fixes, backward compatible
-
jsdelivr Support: jsdelivr supports semantic version tags
@2→ latest v2.x.x@2.1→ latest v2.1.x@2.1.0→ exact version
-
Flexible Pinning: Choose your update strategy
- Pin to major:
@2(auto-updates for minor/patch) - Pin to minor:
@2.1(auto-updates for patches only) - Pin to exact:
@2.1.0(no auto-updates)
- Pin to major:
-
Clear Communication: Version numbers communicate change impact
- Make changes to the scripts package
- Create a changeset:
pnpm changeset- Select
scriptspackage - Choose version bump type (major/minor/patch)
- Write changelog entry
- Select
- Commit and push → PR created
- Merge PR → Version PR created automatically
- Merge version PR → Release created with git tag (e.g.,
v2.1.0)
Based on your repository structure (webflow/webflow-university):
<!-- Recommended: Major version (auto-updates) -->
<script
defer
src="https://cdn.jsdelivr.net/gh/webflow/webflow-university@2/packages/scripts/dist/index.js"
></script>
<!-- Specific version (pinned) -->
<script
defer
src="https://cdn.jsdelivr.net/gh/webflow/webflow-university@2.1.0/packages/scripts/dist/index.js"
></script>
<!-- With 'v' prefix (also works) -->
<script
defer
src="https://cdn.jsdelivr.net/gh/webflow/webflow-university@v2.1.0/packages/scripts/dist/index.js"
></script>Important: The packages/scripts/dist/ folder is committed to git.
This is necessary because:
- jsdelivr serves files directly from GitHub
- The built JavaScript files need to be in the repository
- Git tags point to commits that include the built files
Note: Only packages/scripts/dist/ is committed. packages/code-components/dist/ is ignored (not needed for jsdelivr).
- Breaking API changes
- Removing features
- Significant architectural changes
- New features
- New functions/utilities
- Backward compatible additions
- Bug fixes
- Performance improvements
- Documentation updates (if they affect behavior)
# See package version
cat packages/scripts/package.json | grep version
# See all git tags
git tag
# Get deployment info with URLs
node scripts/deploy-info.js